Une erreur qui peut faire perdre du temps (surtour aux débutants)
1 réponse
Patrice Henrio
Dans le code suivant
For I = 1 To NbLimes
If TabLimes(I).TypeDePoints = 1 Then
Point = TabLimes(I).PremierPoint
If Point > Fin Then
TabLimes(I).PremierPoint = Point - Diff
Point = TabLimes(I).DernierPoint
TabLimes(I).DernierPoint = Point - Diff
Workbooks("LIMES.XLS").Sheets("Limes").Cells(I + 1, 3) =
TabLimes(I).PremierPoint
Workbooks("LIMES.XLS").Sheets("Limes").Cells(I + 1, 6) =
TabLimes(I).DernierPoint
End If
Next I
Le compilateur VB s'arrète sur le Next et nous dit "erreur : Next sans For"
On recherche donc si toutes nos boucles se terminent bien et on ne trouve
pas.
En fait l'erreur n'est pas sur le For...Next mais sur le premier If qui n'a
pas de End If.
Les professionnels de VB ont sûrement vu tout de suite mais il y a déjà
quelques temps que je souhaitais commencer un catalogue des erreurs dont le
libellé ne se rapportait pas à l'erreur principale.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrice Henrio a écrit :
Dans le code suivant
For I = 1 To NbLimes If TabLimes(I).TypeDePoints = 1 Then Point = TabLimes(I).PremierPoint If Point > Fin Then TabLimes(I).PremierPoint = Point - Diff Point = TabLimes(I).DernierPoint TabLimes(I).DernierPoint = Point - Diff Workbooks("LIMES.XLS").Sheets("Limes").Cells(I + 1, 3) = TabLimes(I).PremierPoint Workbooks("LIMES.XLS").Sheets("Limes").Cells(I + 1, 6) = TabLimes(I).DernierPoint End If Next I
Le compilateur VB s'arrète sur le Next et nous dit "erreur : Next sans For" On recherche donc si toutes nos boucles se terminent bien et on ne trouve pas.
En fait l'erreur n'est pas sur le For...Next mais sur le premier If qui n'a pas de End If.
Les professionnels de VB ont sûrement vu tout de suite mais il y a déjà quelques temps que je souhaitais commencer un catalogue des erreurs dont le libellé ne se rapportait pas à l'erreur principale.
Il est vrai que cela peut consommer beaucoup d'aspirine....
De même avec select case etc....
C'est une très bonne idée de le souligner.
Christophe
Patrice Henrio a écrit :
Dans le code suivant
For I = 1 To NbLimes
If TabLimes(I).TypeDePoints = 1 Then
Point = TabLimes(I).PremierPoint
If Point > Fin Then
TabLimes(I).PremierPoint = Point - Diff
Point = TabLimes(I).DernierPoint
TabLimes(I).DernierPoint = Point - Diff
Workbooks("LIMES.XLS").Sheets("Limes").Cells(I + 1, 3) =
TabLimes(I).PremierPoint
Workbooks("LIMES.XLS").Sheets("Limes").Cells(I + 1, 6) =
TabLimes(I).DernierPoint
End If
Next I
Le compilateur VB s'arrète sur le Next et nous dit "erreur : Next sans For"
On recherche donc si toutes nos boucles se terminent bien et on ne trouve
pas.
En fait l'erreur n'est pas sur le For...Next mais sur le premier If qui n'a
pas de End If.
Les professionnels de VB ont sûrement vu tout de suite mais il y a déjà
quelques temps que je souhaitais commencer un catalogue des erreurs dont le
libellé ne se rapportait pas à l'erreur principale.
Il est vrai que cela peut consommer beaucoup d'aspirine....
For I = 1 To NbLimes If TabLimes(I).TypeDePoints = 1 Then Point = TabLimes(I).PremierPoint If Point > Fin Then TabLimes(I).PremierPoint = Point - Diff Point = TabLimes(I).DernierPoint TabLimes(I).DernierPoint = Point - Diff Workbooks("LIMES.XLS").Sheets("Limes").Cells(I + 1, 3) = TabLimes(I).PremierPoint Workbooks("LIMES.XLS").Sheets("Limes").Cells(I + 1, 6) = TabLimes(I).DernierPoint End If Next I
Le compilateur VB s'arrète sur le Next et nous dit "erreur : Next sans For" On recherche donc si toutes nos boucles se terminent bien et on ne trouve pas.
En fait l'erreur n'est pas sur le For...Next mais sur le premier If qui n'a pas de End If.
Les professionnels de VB ont sûrement vu tout de suite mais il y a déjà quelques temps que je souhaitais commencer un catalogue des erreurs dont le libellé ne se rapportait pas à l'erreur principale.
Il est vrai que cela peut consommer beaucoup d'aspirine....