Excel 2007 VBA : pb If/ Then/Else & for/next

Résolu
Eaheru Messages postés 205 Statut Membre -  
Eaheru Messages postés 205 Statut Membre -
Bonjour,

J'essaie de code la fonctionnalité suivante :
Partir du bas de la feuille et toutes les lignes dont la cellule A et vide --> supprimer
Ensuite à partir de la premiere cellule A non vide rencontrée: on garde toutes celle qui ont une valeur en E et dont la valeur E-1 est identique
Ensuite, si E-1 n'est pas identique, on supprime et on reprend : si A vide on supprime jusqu' la prochaine cellule A remplie
etc.

J'ai écrit cette boucle :

DerniereLigne = Sheets("OF à Creer").UsedRange.Rows.Count
For Lig01 = DerniereLigne To 2 Step -1
If Cells(Lig01, 1) Like "" Then
Cells(Lig01, 1).Row.Delete
Next Lig01
End If
Else
If Not Cells(Lig01, 5) Like "" Then
If Cells(Lig01, 5).Value = Cells(Lig01, 5).Value.Offset(-1, 0) Then
Next Lig01
End If
Else
Cells(Lig01, 1).Row.Delete
Next Lig01
End If
End If
Else
Cells(Lig01, 1).Row.Delete
Next Lig01
End If
End If

Mais ça plante en me donnant le message suivant : "Next" sans "For" ( en surlignant ce que j'ai noté en gras).
Quelqu'un aurait une idée svp ?
Merci d'avance pour votre aide :)

2 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Woooo...Commence par indenter ton code, par exemple..
        DerniereLigne = Sheets("OF à Creer").UsedRange.Rows.Count
        For Lig01 = DerniereLigne To 2 Step -1
            If Cells(Lig01, 1) = "" Then
                Cells(Lig01, 1).Row.Delete
        
            ElseIf Cells(Lig01, 5) <> "" Then
                If Cells(Lig01, 5).Value = Cells(Lig01, 5).Value.Offset(-1, 0) Then
                    Cells(Lig01, 1).Row.Delete
                End If
            Else
                Cells(Lig01, 1).Row.Delete
            End If
        Next Lig01


    et tu verras immédiatemlent où le code flanche.
    A+
    0
  2. Eaheru Messages postés 205 Statut Membre 20
     
    ^^ Désolé, il est indenté dans mon fichier mais j'ai eu du mal a la mise en forme sur le forum.
    Merci pour la correction, l'erreur était trop bête :(
    0