Formule ou VBA pour liste toutes les associations

Bonjour

Je cherche un code ou une formule qui pourrait me faire une liste automatiquement de toutes les associations possible entre les valeurs de 2 colonnes.

Je souhaiterai que dans la colonne associations il y ai la liste de toutes les associations possible entre les valeurs de la colonne 1 et les valeurs de la colonne 2 (dans la cellule des associations les valeurs des 2 colonnes séparées par /).

Dans mon exemple dans la colonne 1 il y a 10 valeurs et dans la colonne 2 il y a 10 valeurs, soit 100 possibilités : A/1, A/2, ...., B/1, B/2........J/10.

Mais je souhaiterai que cela aille encore un peu plus loin avec la liste en inversant l'ordre : 1/A, 2/A, ........10/J, soit 200 possibilités pour mon exemple.

J'ai essayé avec la formule concatener mais je ne peux pas mettre de symbole entre les 2 valeurs et c'est laborieux.

Merci

3association.xlsx (9.44 Ko)

Bonsoir Manjul

Pas sûr d'avoir tout compris, mais bon ....

Cordia5

C'est le résultat que je recherche mais dans cet exemple il n' y avait que 200 possibilités alors dans mon tableau final j'ai 25 valeurs dans les colonnes 1 et 2, ce qui me donnera 1250 associations possibles.

Et je ne me vois pas renseigner mes 1250 cellules de la colonne 1 une à une.

Dans ce cas là il me faut trouver une formule pour reporter automatiquement dans la colonne 1 après ma liste la 1ère valeur (10 fois dans mon exemple, puis 10 fois la deuxième valeur ainsi de suite...)

Bonjour,

demande fort semblable à une question posée ici récemment.

https://forum.excel-pratique.com/viewtopic.php?f=2&t=140317

fichier avec code adapté à ton fichier

7association.xlsm (17.43 Ko)

Merci, je n'avais pas trouvé ce sujet.

Je souhaiterais aussi dans la suite les associations inversées, c'est à dire les chiffres en premier et les lettres ensuite.

Ex: 1/A, 1/B, 1/C...

Comment renseigner cela en plus dans le code?

bonsoir,

par exemple

Sub aargh()
    With Sheets("feuil2")
        dlb = .Cells(Rows.Count, 1).End(xlUp).Row
        dld = .Cells(Rows.Count, 2).End(xlUp).Row
        k = 1
        For i = 2 To dlb
            For j = 2 To dld
                k = k + 1
                .Cells(k, 3) = .Cells(i, 1) & "/" & .Cells(j, 2)
                .Cells(k, 4) = .Cells(j, 2) & "/" & .Cells(i, 1)
            Next j
        Next i
    End With
End Sub

Parfait

Merci bien

De retour, dans le cas ou il n'y a pas le même nombre de lignes renseignées, comme sur mon exemple, je me retrouve avec des cellules contenant : 1/ , 2/....../1, /2...

Je souhaiteraix que seules les cellules renseignées de la colonne 1 soit associées uniquement aux cellules de renseignées de la colonne 2.

Merci

3association.xlsm (17.58 Ko)

bonjour,

code adapté

Sub aargh()
    With Sheets("feuil2")
        dlb = .Cells(Rows.Count, 1).End(xlUp).Row
        dld = .Cells(Rows.Count, 2).End(xlUp).Row
        nb = (dlb - 1) * (dld - 1)
        For i = 2 To dlb
            For j = 2 To dld
                k = k + 1
                .Cells(k, 6) = .Cells(i, 1) & "/" & .Cells(j, 2)
                .Cells(k + nb, 6) = .Cells(j, 2) & "/" & .Cells(i, 1)
            Next j
        Next i
    End With
End Sub

Parfait!!

Il est possible qu'il y ai la même valeur dans la colonne 1 et la colonne 2 (dans mon exemple A et B)

Je souhaiterais que les associations avec les mêmes valeurs (dans mon exemple: A/A, B/B) n'apparaissent pas dans ma colonne associations

Merci bien

4association.xlsm (17.61 Ko)

bonjour,

code adapté,

Sub aargh()
    With Sheets("feuil2")
        dlb = .Cells(Rows.Count, 1).End(xlUp).Row
        dld = .Cells(Rows.Count, 2).End(xlUp).Row
        For i = 2 To dlb
            a = .Cells(i, 1)
            For j = 2 To dld
            b = .Cells(j, 2)
                If a <> b Then
                    k = k + 1
                    .Cells(k, 6) = a & "/" & b
                    k = k + 1
                    .Cells(k, 6) = b & "/" & a
                End If
            Next j
        Next i
    End With
End Sub

Tout est parfait

Merci bien

Rechercher des sujets similaires à "formule vba liste toutes associations"