Formule : Regroupement de plusieurs critères (dans une cellule)

Bonjour,

J'espère que vous allez bien.

Je voudrais regrouper plusieurs informations à partir d'une information clé.

Par exemple, je voudrais regrouper tous les moyens de transports qui sont détaillés sur plusieurs ligne, dans une seule cellule avec séparateur "/" ou "espace".

Vous trouverez en P.J. un exemple avec le résultat que je voudrais obtenir.

Pourriez-vous m'aider s'il vous plaît ?

Je vous remercie d'avance de toute l'attention que vous porterez à ma demande.

Veuillez agréer, Madame, Monsieur, mes salutations distinguées.

Cordialement,

Alexandre.

22exemple.xlsx (8.76 Ko)

Bonjour,

Sans VBA je ne sais pas faire ... Peut-être que c'est possible

Sinon je te propose une solution automatisée, le code ci-dessous et le fichier joit :

Sub Concatenation()
Dim BD As Worksheet
Dim DernLig As Long, DernligBis As Long, i As Long, j As Long
Dim MonDico As Object, Cel As Object
Dim Plage()
Dim Crit As String, Chaine As String

    Set BD = ThisWorkbook.Worksheets("Feuil1")
    Set MonDico = CreateObject("Scripting.Dictionary")
    DernLig = BD.Range("A" & BD.Rows.Count).End(xlUp).Row
    Plage = BD.Range("A1:A" & DernLig)
    BD.Range("D:E").Clear
    For i = LBound(Plage) To UBound(Plage)
        If Plage(i, 1) <> "" Then MonDico(Plage(i, 1)) = ""
    Next i
    BD.Cells(1, 4).Resize(MonDico.Count) = Application.Transpose(MonDico.keys)
    DernligBis = BD.Range("D" & BD.Rows.Count).End(xlUp).Row
    For i = 1 To DernligBis
        Chaine = ""
        Crit = BD.Range("D" & i)
        For j = 1 To DernLig
            If BD.Range("A" & j) = Crit Then
                If Chaine = "" Then
                    Chaine = BD.Range("B" & j)
                Else
                    Chaine = Chaine & "/" & BD.Range("B" & j)
                End If
            End If
        Next j
        BD.Range("E" & i) = Chaine
    Next i
End Sub
24exemple.xlsm (21.66 Ko)

Bonjour GGautier,

Merci pour ton aide, je vais essayer d'appliquer cela tout de suite !

Je vous souhaites une excellente journée !

Bonjour à tous,

Avec une formule :

{=JOINDRE.TEXTE("/";1;SI(SI($A$2:$A$8=$D2;$C$2:$C$8)=FAUX;"";SI($A$2:$A$8=$D2;$C$2:$C$8)))}

16exemple.xlsx (10.25 Ko)

DjiDji59430, pourrais tu expliquer la fomule ??? D'ou sort =joindre.texte , ça n'existe pas ?!

De plus la formule ne fonctionne plus après avoir cliqué dessus même après avoir validé en matriciel.

EDIT : Est ce que ça vient d'un pack de fonction téléchargeable ?

https://www.excel-pratique.com/fr/fonctions-complementaires

Plus précisément : https://www.excel-pratique.com/fr/fonctions-complementaires/joindre

DjiDji59430, pourrais tu expliquer la fomule ??? D'ou sort =joindre.texte , ça n'existe pas ?!

De plus la formule ne fonctionne plus après avoir cliqué dessus même après avoir validé en matriciel.

EDIT : Est ce que ça vient d'un pack de fonction téléchargeable ?

https://www.excel-pratique.com/fr/fonctions-complementaires

Plus précisément : https://www.excel-pratique.com/fr/fonctions-complementaires/joindre

En tout cas, ton code fonctionne parfaitement !

Merci beaucoup pour ton aide. Je marque le sujet comme résolu !

Bonne journée et bonne continuation, j'attends quand même de voir la réponse de Djidji :)

Bonjour à tous,

Avec une formule :

{=JOINDRE.TEXTE("/";1;SI(SI($A$2:$A$8=$D2;$C$2:$C$8)=FAUX;"";SI($A$2:$A$8=$D2;$C$2:$C$8)))}

16exemple.xlsx (10.25 Ko)

Cela fonctionne chez moi aussi sans modules complémentaires. Je t'ai mis un aussi ^^

Merci beaucoup pour votre aide et bonne journée à tous.

Tant mieux si mon code correspond à ton besoin, ;)

Peut-être que se sont des fonctions de base intégrée à Office 365, moi qui utilise une version 2016 je suis peut-être obligé de télécharger une "UpDate" pour les avoir aussi ?!

Tant mieux si mon code correspond à ton besoin, ;)

Peut-être que se sont des fonctions de base intégrée à Office 365, moi qui utilise une version 2016 je suis peut-être obligé de télécharger une "UpDate" pour les avoir aussi ?!

Aucune idée, en tout cas. J'ai bien Excel 365.

Faut voir avec Djidji, comment faire pour faire cet update ^^

Aussi, merci beaucoup pour la bible de VBA, je vais beaucoup visiter le site que tu as en signature !

Encore une fois, merci et bonne continuation !

Rechercher des sujets similaires à "formule regroupement criteres"