Excel - Concaténer sans calcul automatique

Résolu
Simart -  
Simart Messages postés 1 Statut Membre -
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.
Configuration: Windows XP
Firefox 2.0.0.16

4 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
    0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

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

    ecris TEXTE(D2;"jj/mm/aa")
    0
    1. Simart
       
      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 !
      0
  3. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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.
    0
  4. Raymond PENTIER Messages postés 58226 Date d'inscription   Statut Contributeur Dernière intervention   17 490
     
    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() ...
    0
    1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      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.
      0
      1. Raymond PENTIER Messages postés 58226 Date d'inscription   Statut Contributeur Dernière intervention   17 490 > gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Vu ! Et bonne journée.
        0
      2. Simart Messages postés 1 Statut Membre > Raymond PENTIER Messages postés 58226 Date d'inscription   Statut Contributeur Dernière intervention  
         
        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 !
        0