Afficher toutes les combinaisons possibles à partir de 2 colonnes

Bonjour,

Dans le fichier ci-joint dans la feuille liste, j'aimerai afficher dans la colonne F toutes les combinaisons d'associations possibles entre les colonnes B et D. Je pensais à une macro mais je ne suis pas expert.

Merci d'avance,

Rolo

84exemple-forum.xlsx (30.08 Ko)

bonjour,

pour remplir le tableau en xt

mettre

=$A6&B$5

en B6 et tirer vers la droite et vers le bas

macro pour remplir la colonne F de liste

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

Merci pour tout

Rolo60

Re,

Je viens de reprendre le fichier et je n'arrive plus à executer la macro en ayant voulu la modifier (je commence seulement VBA).

J'aimerai toujours afficher dans la colonne F toutes les combinaisons d'associations possibles entre les colonnes B et D mais de façon à ce que excel me demande le numéro des colonnes.

Le code est le suivant :

Sub compiler()

Sheets("Liste F0").Select

nbcolf1 As Integer

nbcolrecurrents As Integer

nbcolcompilation As Integer

nbcolf1 = InputBox("Quel est le numero de colonne dans lequel sont stockes tes BC ?")

nbcolrecurrents = InputBox("Quel est le num?ro de colonne dans lequel sont stockes les parents recurrents ?")

nbcolcompilation = InputBox("Quel est le num?ro de colonne dans lequel les croisement a effectuer devront etre stockes ?")

dlb = .Cells(Rows.Count, nbcolf1).End(xlUp).Row

dld = .Cells(Rows.Count, nbcolrecurrents).End(xlUp).Row

k = 1

For i = 2 To dlb

For j = 2 To dld

k = k + 1

.Cells(k, nbcolcompilation) = .Cells(i, nbcolf1) & "/" & .Cells(j, nbcolrecurrents)

Next j

Next i

End With

End Sub

Le fichier est aussi en PJ.

26exemple-forum1.xlsm (37.19 Ko)

bonjour,

voici le code corrigé.

suppression du .select, ajout d'un with. ajout d'un blanc devant le nom de la feuille dans le code, pour que l nom correspondent exactement au nom de la feuille dans le classeur. et j'ai également complété les instructions dim pour toutes les variables utilisées

Sub compiler()
    Dim nbcolf1 As Integer
    Dim nbcolrecurrents As Integer
    Dim nbcolcompilation As Integer
    Dim dlb As Long, dld As Long, i As Long, j As Long, k As Long
    With Sheets(" Liste F0")
        nbcolf1 = InputBox("Quel est le numéro de colonne dans lequel sont stockés tes BC ?")
        nbcolrecurrents = InputBox("Quel est le numéro de colonne dans lequel sont stockés tes parents récurrents ?")
        nbcolcompilation = InputBox("Quel est le numéro de colonne dans lequel les croisement à effectuer devront être stockés ?")
        dlb = .Cells(Rows.Count, nbcolf1).End(xlUp).Row
        dld = .Cells(Rows.Count, nbcolrecurrents).End(xlUp).Row
        k = 1
        For i = 2 To dlb
            For j = 2 To dld
                k = k + 1
                .Cells(k, nbcolcompilation) = .Cells(i, nbcolf1) & "/" & .Cells(j, nbcolrecurrents)
            Next j
        Next i
    End With
End Sub
Rechercher des sujets similaires à "afficher toutes combinaisons possibles partir colonnes"