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

8 réponses

wilfried_42 Messages postés 907 Date d'inscription   Statut Contributeur Dernière intervention   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
Mathou
 
Merci beaucoup pour cette fonction qui m'a ete tres tres utile ! :)
0
elanore31 Messages postés 374 Date d'inscription   Statut Membre Dernière intervention   50
 
formule concat
0
Raymond PENTIER Messages postés 58991 Date d'inscription   Statut Contributeur Dernière intervention   17 358
 
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
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
AGO
 
elles sont d'aboird groupées par tri
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   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
Raymond PENTIER Messages postés 58991 Date d'inscription   Statut Contributeur Dernière intervention   17 358
 
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
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
wilfried_42 Messages postés 907 Date d'inscription   Statut Contributeur Dernière intervention   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
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