Bonjour,

Je ne sais plus très bien quelle est la bonne syntaxe pour signaler une fin de ligne sur une boucle du type For i ....next i. Par exemple pour le script suivant j'ai utilisé deux syntaxes différentes qui me donnent des résultats différents : For i = LR To 2 Step -1 ou For i = i to LR. Je voudrais connaître la différence voire laquelle est juste et pourquoi.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub dedoublement_tfe()
 
Dim i As Integer
Dim LR As Integer
 
LR = Sheets("dedoublement_tfe").Range("C" & Rows.Count).End(xlUp).Row
 
For i = LR To 2 Step -1
 
If Sheets("dedoublement_tfe").Cells(i, 1).Value = Sheets("dedoublement_tfe").Cells(i + 1, 1).Value And Sheets("dedoublement_tfe").Cells(i, 5).Value = Sheets("dedoublement_tfe").Cells(i + 1, 5).Value And Sheets("dedoublement_tfe").Cells(i, 4).Value = Sheets("dedoublement_tfe").Cells(i + 1, 4).Value Then
Sheets("dedoublement_tfe").Cells(i, 3).EntireRow.Delete
 
End If
 
 
Next i
 
End Sub
ou

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub dedoublement_tfe()
'
 
Dim i As Integer
Dim LR As Integer
 
 
 
LR = Sheets("dedoublement_tfe").Range("C" & Rows.Count).End(xlUp).Row
 
For i = i to LR
 
If Sheets("dedoublement_tfe").Cells(i, 1).Value = Sheets("dedoublement_tfe").Cells(i + 1, 1).Value And Sheets("dedoublement_tfe").Cells(i, 5).Value = Sheets("dedoublement_tfe").Cells(i + 1, 5).Value And Sheets("dedoublement_tfe").Cells(i, 4).Value = Sheets("dedoublement_tfe").Cells(i + 1, 4).Value Then
Sheets("dedoublement_tfe").Cells(i, 3).EntireRow.Delete
 
 
End If
 
 
Next i
 
End Sub
Merci d'avance,

A.