Excel 2007 VBA : pb If/ Then/Else & for/next
Résolu
Eaheru
Messages postés
197
Date d'inscription
Statut
Membre
Dernière intervention
-
Eaheru Messages postés 197 Date d'inscription Statut Membre Dernière intervention -
Eaheru Messages postés 197 Date d'inscription Statut Membre Dernière intervention -
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 :)
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 :)
A voir également:
- Excel 2007 VBA : pb If/ Then/Else & for/next
- Save as pdf office 2007 - Télécharger - Bureautique
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
2 réponses
Bonjour,
Woooo...Commence par indenter ton code, par exemple..
et tu verras immédiatemlent où le code flanche.
A+
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+