(VBA) erreur "next sans for" alors qu'il y a un for

superbog

XLDnaute Occasionnel
Bonjour,

J'ai relu ma macro dans tous les sens, je ne comprends pas, je pense avoir correctement incrémenté donc quelqu'un pourrait il m'aider et me dire ou est l'erreur?

Code:
Sub forf()

Dim i, DerLigBase, lig As Integer
Dim dossier, sNomFeuille As String
Dim colFeuille As Collection
Dim rCelA As Range
Dim shAct As Worksheet
Dim FeuilleExist As Boolean

'Recherche de la dernière ligne
DerLigBase = Sheets("forf").Range("B999").End(xlUp).Row
Set colFeuille = New Collection

On Error Resume Next
'Boucle sur la plage de cellule
For Each rCelA In Sheets("forf").Range("B2:B" & DerLigBase)
    colFeuille.Add rCelA, CStr(rCelA)
Next rCelA

'Recherche de la ligne et tri dans chaque feuille
For i = 2 To DerLigBase
dossier = Cells(i, 2).Text

    
    If Sheets("forf").Cells(i, "E") = "forfait" Then GoTo 100
       lig = Sheets(dossier).Range("J999").End(xlUp).Row
       'Copie les valeurs si non barrées
        With Sheets("forf").Cells(i, "c").Resize(, 4)
            If IsEmpty(.Cells(-1)) Then 'colonne A vide
            Err = 0 'pour savoir si une erreur se produit
            Worksheets(dossier).Cells(lig + 1, "J").Resize(, 4) = .Value
            Worksheets(dossier).Cells(lig + 1, "O") = Sheets("forf").Cells(i, "C")
            Worksheets(dossier).Cells(lig + 1, "P") = Sheets("forf").Cells(i, "D")
            Worksheets(dossier).Cells(lig + 1, "R") = "droits"
            Worksheets(dossier).Cells(lig + 1, "T") = "13"
            End If
        GoTo 200
   
100
       lig = Sheets(dossier).Range("AV999").End(xlUp).Row

'Copie les valeurs si non barrées
        With Sheets("forf").Cells(i, "c").Resize(, 4)
            If IsEmpty(.Cells(-1)) Then 'colonne A vide
            Err = 0 'pour savoir si une erreur se produit
            Worksheets(dossier).Cells(lig + 1, "AV").Resize(, 4) = .Value
            End If
      

200
            If Err = 0 Then .Cells(-1) = "X"
   
        End With
        
Next i

End Sub

merci d'avance
 

Paf

XLDnaute Barbatruc
Re : (VBA) erreur "next sans for" alors qu'il y a un for

Bonsoir à tous,

a priori un End If en trop

Code:
If Sheets("forf").Cells(i, "E") = "forfait" Then GoTo 100
n'a pas besoin de End If puisque l'instruction est sur la même ligne.

Pas facile à lire avec ces GoTo

Bonne suite
 

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 351
Membres
103 526
dernier inscrit
HEC