Je dispose dans ma feuille des valeurs suivantes, mon but est d’obtenir toutes les combinaisons possibles.
________ A________ B________ C_________ D
1_______ aa_______ bb_______ cc________ ff
2________ __________________dd________ gg
3________ __________________ee________ hh
Le code suivant me permet d’obtenir ce que je désire :
Le résultat est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 For Each Cell4 In FeuilleTable2.Range("A1") For Each Cell5 In FeuilleTable2.Range("B1") For Each Cell6 In FeuilleTable2.Range("C1:C3") For Each Cell7 In FeuilleTable2.Range("D1:D3") Test = Cell4.Value & & Cell5.Value & & Cell6.Value & & Cell7.Value MyClasses.Add Test For i = 1 To MyClasses.Count FeuilleTable3.Range("A" & i) = MyClasses.Item(i) Next i Next Cell7 Next Cell6 Next Cell5 Next Cell4
aa bb cc ff
aa bb cc gg
aa bb cc hh
aa bb dd ff
aa bb dd gg
aa bb dd hh
aa bb ee ff
aa bb ee gg
aa bb ee hh
J’ai malgres tout deux problèmes.
Le premier est que je voudrais connaitre le nombre de lignes utilisées pour chaque colonne. J’ai pensé à :
NbLignes = FeuilleTable2.UsedRange.Rows.Count
For Each Cell4 In FeuilleTable2.Range("A1:" & NbLignes)
Mais je ne sais pas l’adapter à une seule colonne.
Mon deuxième problème est que je ne suis pas limité à 4 colonnes comme dans mon exemple mais cela peut varier donc je ne sais pas comment faire pour adapter mon code en fonction du nombre de colonnes.
Voila tout, en espérant que quelqu’un poura m’aider.
Merci.
Partager