VBA - Erreur de compilation: Next sans For -

Fermé
rebla - 12 avril 2011 à 14:50
 rebla - 12 avril 2011 à 17:59
Bonjour,

Je voudrais mettre en place un programme qui va chercher dans un fichier excel la case "total général" et par la suite importer les données... Dans mon fichier j'ai trois tableaux avec a chaque fois "total général" et j'aimerais qu'il me localise les trois. Dans un premier temps le programme suivant me localisé seulement le premier tableau:

i = 0
maDonnee = "Total général"
For Each cell In Sheets(onglet).Range("A1:A100")
i = i + 1
If cell = maDonnee Then
reponse = MsgBox(" resultat =" & cell.Offset(-1, 1) & " ,Voulez-vous continuer?", vbOKCancel, "Validation")

' MsgBox ("resultat=" & cell.Offset(-1, 1) & " lig=" & i)
trouve = True
Exit For
End If
Next
If Not trouve Or reponse = 2 Then
MsgBox ("pas de Total général ou abandon ")
classeurSource.Close
Exit Sub
End If
i = i - 1...

Jusque là ça marche pour le premier, pour les autres j'ai rajouté ce qui suit:

i = 0
maDonnee = "Total général"
For Each cell In Sheets(onglet).Range("A1:A100")
i = i + 1
If cell = maDonnee Then
reponse = MsgBox(" resultat =" & cell.Offset(-1, 1) & " ,Voulez-vous continuer?", vbOKCancel, "Validation")

trouve = False

i = i + 2
If cell = maDonnee Then
reponse = MsgBox(" resultat =" & cell.Offset(-1, 1) & " ,Voulez-vous continuer?", vbOKCancel, "Validation")

trouve = False
i = i + 3
If cell = maDonnee Then
reponse = MsgBox(" resultat =" & cell.Offset(-1, 1) & " ,Voulez-vous continuer?", vbOKCancel, "Validation")

trouve = True

Exit For
End If
Next

Avec celui là il m'affiche un message d'erreur: Erreur de compilation Next sans For.
Quelqu'un a une idée du problème.
Merci et bonne journée.

2 réponses

bonjour,

dans la partie rajoutée, tu ouvres 3 If ...; on ne trouve qu'un seul End If.

ton Next se trouve dans une condition If ..... End If , alors qu'il n'y a pas de For dans cette condition.

Corrige les End If ça devrait aller mieux !

Par ailleurs , pas compris l'incrémentation de la variable i qui n'est pas utilisée?

Bonne suite
2