Bonjour,
J’aimerais automatiser une tâche en VBA.
J’ai 4 colonnes plus ou moins longues avec des mots.
Colonne A a 4 mots
Colonne B a 7 mots
Colonne C a 7 mots
Colonne D a 9 mots
Colonne A le début d’une phrase
Colonne B la suite de la colonne A
Colonne C la suite de la colonne B
Colonne D la suite de la colonne C
J’aimerais créer des phrases à partir de ces propositions, de façon à :
- ce que tous les mots de la plus longue liste soient utilisés (dans notre cas la colonne D)
- les colonnes A et C peuvent looper tant que tous les mots de la colonne D ne sont pas utilisés
- en utilisant que le premier mot de la colonne B pour l’ensemble des combinaisons
- une fois que toutes les combinaisons ont été utilisées avec le premier mot de la colonne B, on loop avec 2ème mot de la colonne B, puis le 3ème mot de la colonne B etc…
Pour illustrer le chemin pour la première loop est :
1er mot colonne A
1er mot colonne B
1er mot colonne C
1er mot colonne D
2ème mot colonne A
1er mot colonne B
2ème mot colonne C
2ème mot colonne D
3ème mot colonne A
1er mot colonne B
3ème mot colonne C
3ème mot colonne D
4ème mot colonne A (dernier mot de la colonne A, on repart à 1)
1er mot colonne B
4ème mot colonne C
4ème mot colonne D
1er mot colonne A
1er mot colonne B
5ème mot colonne C
5ème mot colonne D
2ème mot colonne A
1er mot colonne B
5ème mot colonne C
5ème mot colonne D
3ème mot colonne A
1er mot colonne B
6ème mot colonne C
6ème mot colonne D
4ème mot colonne A (dernier mot de la colonne A, on repart à 1)
1er mot colonne B
7ème mot colonne C (dernier mot de la colonne C, on repart à 1)
7ème mot colonne D
1er mot colonne A
1er mot colonne B
1er mot colonne C
8ème mot colonne D
2ème mot colonne A
1er mot colonne B
2ème mot colonne C
9ème mot colonne D (dernier mot de la colonne D = fin de cette loop)
On refait la même chose avec le 2ème mot de la colonne B et ainsi de suite.
Le nombre de mot dans chaque colonne pourrait évoluer, il faudrait donc une fonction SI pour voir si la prochaine cellule est vide, alors on repart au début de la colonne.
J’aimerais coller le résultat dans une nouvelle colonne, les résultats les uns à la suite des autres.
Loop VBA création de phrases.xlsx (11,3 Ko)