Boucle avec conditions sur deux colonnes VBA

Bonjour ,

9classeur10.xlsm (13.72 Ko)

j'ai deux colonnes que je veux passer en revue et si les conditions match ça modifié la cellule concerné .

Dim c As Range
For Each c In Range("A1:A100")
If c.Value <> "" Then c.Value = c.Value + Range("F1")

En plus de la première conditions j'aimerais en rajouter une c'est que dans la colonne B la cellule soit = à A

Ci-joint un fichier test

Merci d'avance

Bonjour,

Si j'ai bien compris la question, il vous faut quelque chose de ce style:

Sub calcul()

    Dim A As Range

    For Each A In Range("A1:A100")

        ' Ici on va chercher la case à droite de "A" à chaque passage de for each
        If A.Value <> "" And A.Offset(0, 1).Value = "A" Then A.Value = A.Value + Range("F1")

    Next A

End Sub

Bonjour Alban753, stryk, le fil

@stryk

        ' Ici on va chercher la case à droite de "A" à chaque passage de for each
        If (A.Value <> "") And (A.Offset(0, 1).Value = "A") Then A.Value = A.Value + Range("F1")

J'ai pris l'habitude de mettre toutes les conditions d'une structure "If/EndIf" entre parenthèses... Cela me permet de tester plus rapidement si chacune des conditions sont remplies lors du débogage éventuel. En pointant la souris sur chacune des parenthèses ouvrantes je connais aussitôt la valeur de la condition pointée, plus facile et rapide que de devoir sélectionner avant toute la condition

Je vais même encore plus loin... En écrivant le IF comme ci-dessous, je sais aussitôt si les 2 conditions sont réunies !

        ' Ici on va chercher la case à droite de "A" à chaque passage de for each
        If ( (A.Value <> "") And (A.Offset(0, 1).Value = "A") ) Then A.Value = A.Value + Range("F1")

Je prends bonne note, merci

... et cela reste valable tous langages !

Rechercher des sujets similaires à "boucle conditions deux colonnes vba"