VBA problème avec la une boucle for range.end(xlup).row après suppression de lignes
Bonjour à tous
Débutant en VBA et nouveau sur ce forum, je sollicite votre aide
Dans le cadre d'un programme, je veux importer les valeurs de certaines cellules se trouvant sur différentes feuilles du classeur dans une même feuille.
Le souci se pose après la réinitialisation de cette feuille: avant de faire l'importation, je supprime toutes les lignes non vides et lors de mon test, le programme ne prend en compte que les 4 premières lignes.
Merci d'avance de votre aide
Cordialement
voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| Option explicit
'déclaration des variables
Dim i As Integer, j As Integer, k As Integer, nbf As Integer
Dim nomAPS As String, codeAPS As String
Private Sub CommandButton1_Click()
'initialisation de la fiche
For i = Range("A65536").End(xlUp).Row To 5 Step -1
If Range("A" & i).Value <> "" Then
Range("A" & i).EntireRow.Delete
End If
Next i
'test et création de la fiche
nbf = ThisWorkbook.Sheets.Count
For i = nbf To 11 Step -1
For j = ThisWorkbook.Sheets(i).Range("H65536").End(xlUp).Row To 4 Step -1
nomAPS = ThisWorkbook.Sheets(i).Range("H" & j).Value
codeAPS = ThisWorkbook.Sheets(i).Range("F" & j).Value
For k = Range("A65536").End(xlUp).Row To 5 Step -1 '<-- le soucis vient de là !!! car il m'indique que k = 4 or je veux tester toutes les lignes
If codeAPS <> Range("A" & k).Value And Range("A" & k - 1).Value <> "" Then
Range("B" & k).Value = nomAPS
Range("A" & k).Value = codeAPS
End If
Next k
Next j
Next i
End Sub |