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 : 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
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