Bonjour a tous.
Je possède 2 colonne
Colonne A avec environ 40 lignes
Colonne B avec environ 11 240
A chaque ligne de la Colonne B se trouve une cellule dont le contenu est dans la colonne A et j'applique un traitement.
Je voulais que, dans une ligne B, dés qu'on trouve la correspondance, on ne rentre pas dans la boucle While.
Cela aurait été une évaluation paresseuse (si le booléen IsFind est à True, alors je ne rentre pas la suite).
La, la macro rentre tout le temps dans la boucle (car iLigneA <= last_Ligne_A)
Comment faire pour éviter d'y rentrer dés lors que IsFind passe à True ?
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 For iLigneB = 2 To last_Ligne_B ' 2 à 11 240 iLigneA = 2 ' Ré-initialise début de A IsFind = False ' Ré-initialise bool Do While IsFind = False Or iLigneA <= last_Ligne_A ' Eval non paresseuse If Range("B" & iLigneOnglet).Text = variable_txt Then IsFind = True ' Ligne trouvée donc pas besoin de tester les autres valeur de A ' Traitement End If iLigneA = iLigneA + 1 'iLigneA ++ Loop Next iLigneB
Partager