Bonjour,
Je débute en VBA et j'ai un souci maintenant avec une boucle WHILE WEND. J'ai fait des recherches, j'ai essayé différentes structures de boucles (IF..Then ; WHILE...Wend....), mais rien ne marche.
objectif de la boucle :
En gros la boucle doit chercher le nombre NB (colonne B) en faisant des soustractions pour obtenir un résultat =0, ensuite ecrire la valeur trouvée sur la première cellule vide de la ligne .
J'essaie d'appliquer ce code mais ça fonctionne pas .
Private Sub Worksheet_Change(ByVal Target As Range)
'On désactive les events pour empêcher les bugs
Application.EnableEvents = False
'Si les changements ont été fait sur la colonne B on commence le traitement
If (Target.Column = 2) Then
Row = Target.Row
Nb = Range(Target.Address)
i = 3
While Nb > 0 And i <= 9
If Not IsEmpty(Cells(Row, i)) Then
If Cells(Row, i) >= Nb Then
Cells(Row, i) = Cells(Row, i) - Nb
Nb = 0
ElseIf Cells(Row, i) < Nb Then
Nb = Nb - Cells(Row, i)
Cells(Row, i) = 0
End If
End If
i = i + 1
Wend
End If
'On réactive les events
Application.EnableEvents = True
End Sub
Merci d'avance
Cordialement