CONCATENER

AGO -  
 Mathou -
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. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    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
    1. Mathou
       
      Merci beaucoup pour cette fonction qui m'a ete tres tres utile ! :)
      0
  2. elanore31 Messages postés 413 Statut Membre 50
     
    formule concat
    0
  3. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     
    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.
    0
  4. zigzag
     
    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
    0
    1. AGO
       
      elles sont d'aboird groupées par tri
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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)
    0
    1. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
       
      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.
      0
  7. Nico
     
    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 ?
    0
  8. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    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
    0
  9. Nico
     
    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.
    0