CONCATENER

Bonjour,
j'ai 2 colonnes A et B

A B C
hitr oc102
hitr oc104
hitr oc105
hitr oc106
alia dr024
alia dr026
micr fu204
micr sr202
Je souhaite concatener l'ensemble des cellules de la colonnes B qui ont pour valeur hitr dans la colonne A dans une
seule cellule d'une colonne c et ainsi de suite....les cellules de la colonne B ayant pour valeur alia dasn la colonne A...
Merci de votre aide

Ago
Configuration: Windows XP
Internet Explorer 6.0

8 réponses

  1. On peut aussi faire tout simple :

    Le tableau commençant en A1
    On écrit en C1 :
    =B1

    On écrit en C2 :
    =SI(A2=A1;CONCATENER(C1&B2);B2)

    On copie C2 jusqu'à la fin de la colonne C

    On peut faire disparaitre les concaténations intermédiaires pour ne voir que la dernière
    par la mise en forme conditionnelle.

    Soit pour C1 :
    'La formule est'
    =A1=A1
    (ne pas laisser les $ en cas de sélection par clic)

    A recopier jusqu'en bas de la colonne C.
    1. Contributeur
      Bonjour à tous

      si j'ai bien compris le probleme, il faut concatener un nombre indéfini de valeurs de la colonne B en fonction de la valeur de la colonne A

      or comme je l'ai dit dans le post 4, il est impossible d'utiliser Concatener pour une matrice meme en formule matricielle, venant de faire l'essai sur 2007, c'est toujours impossible.

      Laurent LONGRE a écrit une Bibliotheque de 67 fonctions supplémentaires contenant entre autre une fonction de concaténation de matrice.
      N'étant pas très pour l'adjonction de 67 fonctions pour n'en utiliser qu'une seule alors qu'il faut aussi ne pas oublier, en cas d'exportation de l'application, le chargement de cette bibliothèque, j'ai donc proposé ma fonction perso qui permet de concaténer des matrices, avec la formule qui va avec.

      Voici un autre exemple de concatenation de matrice, mais c'est beaucoup plus compliqué qu'avec une fonction personnalisée
      1. La concaténation dans la colonne C doit-elle se faire sur la première, la dernière ou bien sur chacune des cellules ou la valeur de la colonne A est identique ?
        1. Bonjour,

          Si les colonnes sont triées, il suffit de mettre =A1 & " " & B1 en C1 et tirer jusqu'en bas (croix en bas à droite de la cellule) ...

          ;o)
          1. Contributeur
            Je n'ai pas bien compris le problème posé, mais au moins je suis sûr que ta proposition n'y correspond pas ! Attendons des précisions.
        2. Contributeur
          Bonjour à tous

          Concatener une matrice n'existe pas de base dans Excel. dans une macro complémentaire, MoreFunc, elle existe, mais charger une macro complementaire de X fonctions pour en utiliser une seule.....

          Voici une fonction personnalisée à placer dans un module standard
          Function Matrice_Concatener(valeur As Variant, Optional separator As String = "", Optional vide As Boolean = False) As String
              Dim c As Variant
              Application.Volatile
              For Each c In valeur
                  If vide = False Then
                      If c > "" Then
                          Matrice_Concatener = Matrice_Concatener & c
                          If separator > "" Then Matrice_Concatener = Matrice_Concatener & separator
                      End If
                  Else
                      Matrice_Concatener = Matrice_Concatener & c
                      If separator > "" Then Matrice_Concatener = Matrice_Concatener & separator
                  End If
              Next
              If separator > "" Then Matrice_Concatener = Left(Matrice_Concatener, Len(Matrice_Concatener) - Len(separator))
          End Function

          tu peux telecharger ce Fichier Exemples

          utilisation : Matrice_concatener(MaPlage;[Separateur];[vides])
          MaPlage : le plage à concatener
          Separateur : Le caractere de separation que tu desires
          Vides : Mettre Vrai si tu desire aussi prendre les valeurs vides

          Dans ton cas : le formule matricielle sera :
          =Matrice_concatener(si(A1:A10="hitr";B1:B10;"");"-")

          Formule matricielle à valider avec Ctrl + Maj + Entrée

          1. Merci beaucoup pour cette fonction qui m'a ete tres tres utile ! :)
        3. Bonjour

          Les cellules de la colonne A ayant la même valeur sont-elles toujours groupées (comme dans ton exemple) ou bien peuvent-elles être mélangées aux autres.

          comme ça par exemple :
          hitr oc102
          hitr oc105
          hitr oc106
          alia dr026
          micr fu204
          micr sr202
          hitr oc104
          alia dr024
          1. elles sont d'aboird groupées par tri
        4. Contributeur
          Je n'ai rien compris !

          Peux-tu remplir à la main un fichier exemple, pour qu'on puisse voir ce que tu voudrais obtenir automatiquement ?

          Tu ouvres https://www.cjoint.com/ tu crées le lien, tu autorises l'accès, tu reviens dans ton message CCM et tu fais COLLER.