Erreur programme VBA
nadnad13
Messages postés
25
Statut
Membre
-
nadnad13 Messages postés 25 Statut Membre -
nadnad13 Messages postés 25 Statut Membre -
Bonjour,
J'ai un problème, Lorsque j'exécute le programme suivant :
J'obtient un message d'erreur disant :
Erreur de compilation :
Next sans For
Alors que l'instruction For figure bel et bien dans le programme..
Merci d'avance.
J'ai un problème, Lorsque j'exécute le programme suivant :
For compteur = 1 To n
If Sheets(Feuil1).Cells(i, 4).Value = "Ecl" Then
Nb_depart_Ecl = Nb_depart_Ecl + 1
If Sheets(Feuil1).Cells(i, 4).Value = "PC" Then
Nb_depart_PC = Nb_depart_PC + 1
If Sheets(Feuil1).Cells(i, 4).Value = "Att Clim" Then
Nb_depart_CLIM = Nb_depart_CLIM + 1
If Sheets(Feuil1).Cells(i, 4).Value = "Att Plomb" Or Sheets(Feuil1).Cells(i, 4).Value = "Att secur" Or Sheets(Feuil1).Cells(i, 4).Value = "Att Div" Then
Nb_depart_ATT = Nb_depart_ATT + 1
i = i + 3
Next compteur
J'obtient un message d'erreur disant :
Erreur de compilation :
Next sans For
Alors que l'instruction For figure bel et bien dans le programme..
Merci d'avance.
1 réponse
-
Bonjour
en fait il te manque les end if
tu as plusieurs solutions dont
For compteur = 1 To n If Sheets(Feuil1).Cells(i, 4).Value = "Ecl" Then Nb_depart_Ecl = Nb_depart_Ecl + 1 end if If Sheets(Feuil1).Cells(i, 4).Value = "PC" Then Nb_depart_PC = Nb_depart_PC + 1 end if If Sheets(Feuil1).Cells(i, 4).Value = "Att Clim" Then Nb_depart_CLIM = Nb_depart_CLIM + 1 end if If Sheets(Feuil1).Cells(i, 4).Value = "Att Plomb" Or Sheets(Feuil1).Cells(i, 4).Value = "Att secur" Or Sheets(Feuil1).Cells(i, 4).Value = "Att Div" Then Nb_depart_ATT = Nb_depart_ATT + 1 end if i = i + 3 Next compteur For compteur = 1 To n If Sheets(Feuil1).Cells(i, 4).Value = "Ecl" Then Nb_depart_Ecl = Nb_depart_Ecl + 1 elseIf Sheets(Feuil1).Cells(i, 4).Value = "PC" Then Nb_depart_PC = Nb_depart_PC + 1 elseIf Sheets(Feuil1).Cells(i, 4).Value = "Att Clim" Then Nb_depart_CLIM = Nb_depart_CLIM + 1 elseIf Sheets(Feuil1).Cells(i, 4).Value = "Att Plomb" Or Sheets(Feuil1).Cells(i, 4).Value = "Att secur" Or Sheets(Feuil1).Cells(i, 4).Value = "Att Div" Then Nb_depart_ATT = Nb_depart_ATT + 1 end if i = i + 3 Next compteur For compteur = 1 To n If Sheets(Feuil1).Cells(i, 4).Value = "Ecl" Then Nb_depart_Ecl = Nb_depart_Ecl + 1 If Sheets(Feuil1).Cells(i, 4).Value = "PC" Then Nb_depart_PC = Nb_depart_PC + 1 If Sheets(Feuil1).Cells(i, 4).Value = "Att Clim" Then Nb_depart_CLIM = Nb_depart_CLIM + 1 If Sheets(Feuil1).Cells(i, 4).Value = "Att Plomb" Or Sheets(Feuil1).Cells(i, 4).Value = "Att secur" Or Sheets(Feuil1).Cells(i, 4).Value = "Att Div" Then Nb_depart_ATT = Nb_depart_ATT + 1 i = i + 3 Next compteur For compteur = 1 To n select case Sheets(Feuil1).Cells(i, 4).Value case "Ecl": Nb_depart_Ecl = Nb_depart_Ecl + 1 case "PC" : Nb_depart_PC = Nb_depart_PC + 1 case "Att Clim" : Nb_depart_CLIM = Nb_depart_CLIM + 1 case "Att Plomb" ,"Att secur" , "Att Div" : Nb_depart_ATT = Nb_depart_ATT + 1 end select i = i + 3 next compteur
Cdlmnt-
Merci beaucoup pour votre réponse.
J'ai une autre question svp:
Supposons que j'aie déclaré une variable i que j'ai initialisé à 4 en dehors de la boucle for, et qu'en dedans de cette boucle figure l'instruction i = i + 3 par exemple; en sortant de cette boucle, est ce que i reprend sa valeur initiale ( = 4 ) où est ce qu'elle reçoit une nouvelle valeur dépendamment des modification que celle ci a subit dans la boucle ?
J'étais sure qu'elle changeait de valeur jusqu'à ce que j'obtienne des résultats erronés.. :/
Merci d'avance -
-
-