Excel - Concaténer sans calcul automatique

[Résolu/Fermé]
Signaler
-
Messages postés
1
Date d'inscription
lundi 17 novembre 2008
Statut
Membre
Dernière intervention
19 novembre 2008
-
Bonjour à tous,

Voilà mon problème actuel. Je suis en train de concaténer plusieurs colonnes en une seule. Ma formule actuelle est la suivante... :

Fx=CONCATENER("De ";B2;" (";C2;"), ";E2;", le ";D2;". ";"Contenu : ";G2)

...dans l'optique d'obtenir cela (exemple de la seconde ligne) :

De ABADIE Daniel (conservateur), Paris, Mnam, le 18/12/1986. Contenu : lui adresse prises de vues effectuées pour l'exposition à la Galerie 30 ; ss intérêt


Mon souci c'est qu'une partie des données de D2 sont inscrites sous la forme jj/mm/aaaa, et Excel m'interprète cela comme un calcul étrange puisqu'il me donne ce résultat :

De ABADIE Daniel (conservateur), Paris, Mnam, le 31764. Contenu : lui adresse prises de vues effectuées pour l'exposition à la Galerie 30 ; ss intérêt


Que me manque-t-il pour éviter toute interprétation de calcul à l'avenir dans mes formules de concaténation ? Merci d'avance, à chacun d'entre vous pour votre temps et vos conseils.

4 réponses

Messages postés
26184
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
18 septembre 2021
6 052
Bonjour
Excel transforme la date en code de son calendrier
à tout hasard ça marche chez moi:
essayez de placer deux guillemets avant D2,soit pour la partie de la formule :
",le";"";D2;
Avec un blanc ou non entre les deux guillemets

Crdlmnt
Messages postés
16509
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
18 septembre 2021
3 221
Bonjour

au lieu d'écrire D2 (qui contient la date ,)

ecris TEXTE(D2;"jj/mm/aa")
La méthode donnée par Vaucluse n'a malheureusement pas changé mon problème, mais celle proposée par Michel_m fonctionne parfaitement. Je procéderai de la sorte à l'avenir. Voici la formule qui figure désormais dans mes colonnes... :

Fx=CONCATENER("De ";B2;" (";C2;"), ";E2;", le ";TEXTE(D2;"jj/mm/aaaa");". ";"Contenu : ";G2)

...et ça donne ça :

De ABADIE Daniel (conservateur), Paris, Mnam, le 18/12/1986. Contenu : lui adresse prises de vues effectuées pour l'exposition à la Galerie 30 ; ss intérêt


Merci à vous pour votre temps et vos réponses rapides !
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 506
bonjour


Tu peux te simplifier la vie en te passant de la fonction CONCATENER en écrivant :

=A1&TEXTE(B1;"jj/mm/aaaa")&C1

Comme tu l'as sans doute compris ma date est en B1 dans l'exemple.
Messages postés
54662
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
19 septembre 2021
16 564
Trop pressé, ami gbinforme ! Ta formule =A1&TEXTE(B1;"jj/mm/aaaa")&C1 donne
"ABADIE Daniel18/12/1986lui adresse prises de vues effectuées pour l'exposition à la Galerie 30 ; ss intérêt"
sans espaces, sans virgules et sans parenthèses.
Tu voulais sans doute proposer
="De "&B2&" ("&C2&"), "&E2&", le "&TEXTE(D2;"jj/mm/aaaa")&". "&"Contenu : "&G2 ?
La simplification ne porte que sur l'économie de CONCATENER() ...
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 506
bonjour

La simplification ne porte que sur l'économie de CONCATENER() ...

Tu as tout à fait raison, je ne voulais pas dire autre chose et c'est pour cela que je n'avais pas pris les même cellules pour l'exemple.
Messages postés
54662
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
19 septembre 2021
16 564 >
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020

Vu ! Et bonne journée.
Messages postés
1
Date d'inscription
lundi 17 novembre 2008
Statut
Membre
Dernière intervention
19 novembre 2008
>
Messages postés
54662
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
19 septembre 2021

Economiser CONCATENER ne sert pas à grands choses si c'est pour ajouter des & à tous les éléments. ;)


Je conserverai donc la première solution :

Fx=CONCATENER(C2;", format ";D2;", ";B2;". (Remarques :";E2;")")


Merci à vous tous, une fois de plus !