Bonjour à toutes et à tous.
Je développe une macro VBA sous Excel 2007 (compatible 2003) afin de traiter un fichier CSV.
Ce fichier comporte des lignes dont une seule colonne est utilisée que je souhaite supprimer.
J' ai donc crée une boucle afin d'effectuer cette tâche mais losque je veux la tester j' obtiens une erreur :
"Erreur de compilation, Next sans For".
Pourtant Next est bien précédé de For et tous blocs If dans la boucle sont bien fermés.
Voici le code en question :
J' ai retourné la boucle dans tous les sens et je dois bien admettre que je ne sais pas d'où provient l'erreur.
Mon niveau étant très limité, il se peut que la réponse soit évidente pour une personne avertie, merci donc par avance de votre indulgence et de votre aide.
P.S. Cette boucle est la dernière d'une série qui soit tournaient sans fin soit ne remplissaient pas correctement leur fonction soit étaient vraiment trop lentes.
Il se peut donc que cette version soit aussi boguée car je n'ai pas encore pu la tester.
Je développe une macro VBA sous Excel 2007 (compatible 2003) afin de traiter un fichier CSV.
Ce fichier comporte des lignes dont une seule colonne est utilisée que je souhaite supprimer.
J' ai donc crée une boucle afin d'effectuer cette tâche mais losque je veux la tester j' obtiens une erreur :
"Erreur de compilation, Next sans For".
Pourtant Next est bien précédé de For et tous blocs If dans la boucle sont bien fermés.
Voici le code en question :
Code:
Application.StatusBar = " Suppression des sauts de ligne..."
Set plage = Range("E:E")
For Each Cel In plage
If x = 0 Then
If Cel <> "" And Cel.Offset(0, 1) = "" Then
If Cel <> "" And Cel.Offset(1, 1) = "" Then
x = 1
a = Cel.Row
Rows(a).Select
Else
a = Cel.Row
Rows(a).Select
Selection.Delete Shift:=xlUp
End If
ElseIf Cel = "" And Cel.Offset(0, 1) = "" Then
Exit For
End If
If x = 1 Then
If Cel <> "" And Cel.Offset(0, 1) = "" Then
If Cel <> "" And Cel.Offset(1, 1) = "" Then
b = Cel.Row
Rows(b).Select
Else
b = Cel.Row
Rows(a & ":" & b).Select
Selection.Delete Shift:=xlUp
x = 0
End If
Else
x = 0
Exit For
End If
End If
Next Cel
Range("E:E").Select
Selection.Delete Shift:=xlToLeft
J' ai retourné la boucle dans tous les sens et je dois bien admettre que je ne sais pas d'où provient l'erreur.
Mon niveau étant très limité, il se peut que la réponse soit évidente pour une personne avertie, merci donc par avance de votre indulgence et de votre aide.
P.S. Cette boucle est la dernière d'une série qui soit tournaient sans fin soit ne remplissaient pas correctement leur fonction soit étaient vraiment trop lentes.
Il se peut donc que cette version soit aussi boguée car je n'ai pas encore pu la tester.