54 votes

Concaténation d'une date avec une chaîne de caractères dans Excel

J'ai deux cellules dans Excel. L'une contient une chaîne et l'autre une date. Dans la troisième cellule, je veux combiner la date et la chaîne. Par exemple :

A1 = "This "
A2 = "03/03/1982"

Je veux que A3 le soit :

This 03/03/1982

lorsque j'essaie de mettre cela dans la formule A3 : = A1 & A2 il renvoie une drôle de valeur numérique pour la date et ne me donne pas la date littérale.

82voto

ChrisO Points 1580

Je ne sais pas si c'est le meilleur moyen, mais je ferais ça :

=A1 & TEXT(A2,"mm/dd/yyyy")

Cela devrait permettre de formater votre date dans la chaîne de caractères souhaitée.

Edit : Ce drôle de chiffre que vous avez vu est le nombre de jours entre le 31 décembre 1899 et votre date. C'est ainsi qu'Excel stocke les dates.

16voto

GSerg Points 33571

Il s'agit de la représentation numérique de la date. C'est ce que l'on obtient lorsqu'on se réfère à des dates à partir de formules de ce type.

Tu devras le faire :

= A1 & TEXT(A2, "mm/dd/yyyy")

Le plus gros problème ici est que le spécificateur de format dépend de l'environnement local. Il ne fonctionnera pas ou ne produira pas ce qui est attendu si le fichier est ouvert avec un Excel localisé différemment.

Maintenant, vous podría ont une fonction définie par l'utilisateur :

public function AsDisplayed(byval c as range) as string
  AsDisplayed = c.Text
end function

et ensuite

= A1 & AsDisplayed(A2)

Mais il y a un bug (une fonctionnalité ?) dans Excel à cause duquel la fonction .Text la propriété est soudainement non disponible pendant certaines étapes du cycle de calcul, et vos formules affichent #VALUE au lieu de ce qu'ils devraient.

C'est-à-dire que c'est mauvais dans les deux cas.

6voto

Gopinath Points 31

Une autre approche

=CONCATENATE("Age as of ", TEXT(TODAY(),"dd-mmm-yyyy"))

Cela donnera Âge en date du 06-Août-2013

3voto

lhote Points 11

Merci pour la solution !

Cela fonctionne, mais dans un environnement Excel français, vous devriez appliquer quelque chose comme

TEXTE(F2;"jj/mm/aaaa")

pour obtenir la date conservée telle qu'elle est affichée dans la cellule F2, après concaténation. Meilleures salutations

2voto

mahendar kumar Points 21

Vous pouvez le faire de cette manière simple :

A1 = Mahi
A2 \= NULL(blanc)

Sélectionnez A2 Clic droit sur la cellule --> Formatage des cellules --> changer en TEXTE

Puis mettez la date dans A2 (A2 =31/07/1990)

Puis concaténer, ça marchera. Pas besoin de formules.

\=CONCATÉNATION(A1,A2)

mahi31/07/1990

(Cela fonctionne sur les cellules vides, c'est-à-dire qu'avant d'entrer la valeur DATE dans la cellule, vous devez la transformer en TEXTE).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X