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_colonne

Je 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

Rechercher des sujets similaires à "tests combinaisons valeurs ligne"