Bonjour à tous,

j'ai effectué un petit programme ou j'utilise plusieurs variables. Au premier abord mon programme fonctionne, le hic si hic il y a, quand je fais fonctionner mon programme "pas à pas" je m'aperçois que je passe par une variable qui se remet à chaque fois à "zéro" et donc repart depuis le début.
Ce que je souhaiterai c'est de garder en mémoire la dernière ligne pour que ma variable reparte de ce point là. Ma variable dans le code ci-dessous est "LigneVac"
Suis je clair ?

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Private Sub CmdTransfert_Click() ' BOUTON DE COMMANDE POUIR LE TRANSFERT
 
Dim Tableau As Workbook
Dim Vacation As Workbook
Dim NomRubrique As Byte
Dim ligne As Byte
Dim ligneVac As Byte
Dim NomOnglet
Dim arret
 
Set Tableau = ThisWorkbook 
Set Vacation = ActiveWorkbook 
 
    For NomRubrique = 2 To 9
 
 
        For ligne = 3 To 25
 
        NomOnglet = Tableau.Sheets("bd").Cells(NomRubrique, 7).Value 'NomOnglet prend le nom de la rubrique
 
            If Tableau.Sheets("tableau").Cells(ligne, 1) <> "" And Tableau.Sheets("tableau").Cells(ligne, 1) = NomOnglet Then
            NomOnglet = Tableau.Sheets("bd").Cells(NomRubrique, 8).Value
 
            Vacation.Sheets(NomOnglet).Activate
 
  'LigneVac = variable posant problème...          
                For ligneVac = 5 To 25
 
                    If Vacation.Sheets(NomOnglet).Cells(5, 1).Value = "" Or Vacation.Sheets(NomOnglet).Cells(ligneVac, 1).Value = "" And Vacation.Sheets(NomOnglet).Cells(ligneVac - 1, 1) = Tableau.Sheets("tableau").Cells(ligne, 2).Value Then
                    Vacation.Sheets(NomOnglet).Cells(ligneVac, 1).Value = Tableau.Sheets("tableau").Cells(ligne, 2).Value 'matricule
                    Vacation.Sheets(NomOnglet).Cells(ligneVac, 2).Value = Tableau.Sheets("tableau").Cells(ligne, 3).Value _
                    & " " & Tableau.Sheets("tableau").Cells(ligne, 4).Value 'nom + prenom
                    Vacation.Sheets(NomOnglet).Cells(ligneVac, 4).Value = CDate(Left(Tableau.Sheets("tableau").Cells(ligne, 5).Value, 10)) 'date debut
 
                    Exit For
                    Else
                    If Vacation.Sheets(NomOnglet).Cells(ligneVac, 1) = "" And Vacation.Sheets(NomOnglet).Cells(ligneVac - 1, 1) <> Tableau.Sheets("tableau").Cells(ligne, 2).Value _
                    And Vacation.Sheets(NomOnglet).Cells(ligneVac + 1, 1) = "" Then
                    ligneVac = ligneVac + 1
                    Vacation.Sheets(NomOnglet).Cells(ligneVac, 1).Value = Tableau.Sheets("tableau").Cells(ligne, 2).Value 'matricule
                    Vacation.Sheets(NomOnglet).Cells(ligneVac, 2).Value = Tableau.Sheets("tableau").Cells(ligne, 3).Value _
                    & " " & Tableau.Sheets("tableau").Cells(ligne, 4).Value 'nom + prenom
                    Vacation.Sheets(NomOnglet).Cells(ligneVac, 4).Value = CDate(Left(Tableau.Sheets("tableau").Cells(ligne, 5).Value, 10)) 'date debut
 
                    Exit For
                    End If
                    End If
 
            Next ligneVac
 
           End If
            Next ligne
 
            Next NomRubrique
 
 Set Tableau = Nothing
 Set Vacation = Nothing
End Sub
Une fois que ma variable "LigneVac" a trouvé les infos, on passe à la variable "Ligne" qui s'incrémente de 1, et l'idéal serait que "LigneVac" reste avec la dernière valeur et ne reparte pas à "5"

Je vous remercie d'avance de votre aide,

Cdlt, PLV.