Tests sur des combinaisons de valeurs d'une ligne
Bonjour à tous,
Voilà plusieurs semaines que je me suis mise à VBA dans le cadre de mon travail, et j'ai déjà pas mal progressé, notamment grâce à ce forum et à votre aide précieuse sur les différents topics. Pour cela merci beaucoup, vous m'avez fait gagné des heures très précieuses !
Je suis actuellement confrontée à un problème, j'ai beau le retourner dans tous les sens, essayé des contournements un peu farfelus, je n'arrive pas à trouver une logique qui me convient.
Pour simplifier le problème, je vous présente un exemple : je pense être capable de me débrouiller et d'adapter le code à partir de cet exemple.
Mon fichier excel comporte un tableau, avec un nombre de lignes et de colonnes variables. Chaque cellule de chaque ligne a une valeur différente :
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12)
(1) 3 4
(2) 3 4 7 8 11 12 14 15 17 18
(3) 3 4 5 6 8 9 10 12 13 15 16 18
(4) 3 4 5 6 7 9 10 11 13 14 16 17
(5) 3 4 5 6 9 10 13 14 15 16 17 18
(6) 3 4
(7) 3 4 7 8 11 12 14 15 17 18
(8) 3 4 5 6 7 9 10 11 13 14 16 17
(9) 3 4 5 7 8 9 11 12 13 14 15 16
(10) 3 4 5 6 7 8 9 10 11 12
(11) 3 4 5 6 7 8 9 10 11 12 13 14
(12) 3 4 5 6 7 8 9 10 11 12
(13) 3 4 5 6 7 8 9 10 11 12
(14) 3 4 5 6 7 8 9 10 11 12
(15) 3 9 10 11 12 Pour chaque ligne, je souhaiterais tester les possibilités possibles :
- Pour chaque ligne
- Si on retrouve les valeurs 3 ET 4, alors coche la case X
- Si on retrouve les valeurs 12, 14 ET 15 alors coche la case Y
- etc...
Comme plusieurs cas sont possibles (dans mon exemple ci-dessus, on retrouve des lignes comportant les deux possibilités : il faudrait donc cocher les deux cases), il faudrait donc éviter le "ELSEIF".
Pour la base de mon code, je suis partie de la manière suivante :
Sub test()
nb_diff = Cells(1, 1).End(xlDown).Row 'Renvoie la dernière ligne
For Row = 1 To nb_diff
nb_colonne = Cells(1, 1).End(xlToRight).Column 'Renvoie la dernière colonne de la ligne en cours
colonne = 1
Do Until colonne = nb_colonneJe ne sais pas trop par où partir après... Si quelqu'un aurait une idée de génie pour me débloquer, ce serait vraiment super !
Merci beaucoup de votre aide.
LaulauB