OVH Cloud OVH Cloud

Go to

10 réponses
Avatar
Florian
Bonjour

J'ai une proc très longue, et je désire insérer un Go to

If Lbl_décompte > 20 Then Go to .....
Mais comment dois-je mettre ma borne pour que le Go to fonctionne ?
Merci
Flo riant

10 réponses

Avatar
michdenis
Bonjour Florian,


Des procédures avec des goto ... c'est souvent le début d'usine à gaz ... car il devient plus difficile de suivre la
procédure ... Il ne faut pas en abuser !


Voici un exemple :
'--------------------------
Sub LesGotoDuMonopoly()

Dim Ok As String

Ok: ' il pourrait être placé après la boucle ... selon les besoins !!
MsgBox "Bonjour"

For a = 1 To 50
If a = 5 Then GoTo Ok:
Next
End Sub
'--------------------------


Salutations!


"Florian" a écrit dans le message de news:
Bonjour

J'ai une proc très longue, et je désire insérer un Go to

If Lbl_décompte > 20 Then Go to .....
Mais comment dois-je mettre ma borne pour que le Go to fonctionne ?
Merci
Flo riant
Avatar
JpPradier
Bonjour Florian
Comme dans l'exemple ci-dessous. A noter qu'il n'est pas conseiller d'utiliser le Goto pour une
question de lisibilité du code entre autre.
j-p


ton code ...
If Lbl_décompte > 20 Then Goto Etiq
blabla...

Etiq:
code....
Avatar
Jacky
Bonjour Flo rian
If Lbl_décompte > 20 Then Goto dada
Bla..Bla
Dada:
bla..bla
end sub

Jette aussi un coup d'yeux à 'EXIT' plus souvent approprié.

Salutations
JJ

"Florian" a écrit dans le message de
news:
Bonjour

J'ai une proc très longue, et je désire insérer un Go to

If Lbl_décompte > 20 Then Go to .....
Mais comment dois-je mettre ma borne pour que le Go to fonctionne ?
Merci
Flo riant




Avatar
Ricky [MVP]
Bonjour *Florian* (et tous les lecteurs)

| If Lbl_décompte > 20 Then Go to .....
| Mais comment dois-je mettre ma borne pour que le Go to fonctionne ?
| Merci
| Flo riant

Fais l'inverse.
If Lbl_decompte <= 20 Then blablabla
End IF
Et on continue. C'est ici qu'aurait renvoyé ton Go To logiquement.
Mais Go To est une commande qui génère surtout des problèmes (de logique)
--
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faq.ms.word.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
Avatar
Florian
Merci beaucoup p à tous
Quelle célérité...
Flo riant


"Ricky [MVP]" a écrit dans le message de
news:Ogs8%
Bonjour *Florian* (et tous les lecteurs)

| If Lbl_décompte > 20 Then Go to .....
| Mais comment dois-je mettre ma borne pour que le Go to fonctionne ?
| Merci
| Flo riant

Fais l'inverse.
If Lbl_decompte <= 20 Then blablabla
End IF
Et on continue. C'est ici qu'aurait renvoyé ton Go To logiquement.
Mais Go To est une commande qui génère surtout des problèmes (de logique)
--
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faq.ms.word.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm



Avatar
Ricky [MVP]
Bonjour *JpPradier* (et tous les lecteurs)
| Bonjour Florian
| Comme dans l'exemple ci-dessous. A noter qu'il n'est pas conseiller
| d'utiliser le Goto pour une question de lisibilité du code entre
| autre.
| j-p
|
|
| ton code ...
| If Lbl_décompte > 20 Then Goto Etiq
| blabla...
|
| Etiq:
| code....


End If avant Etiq en principe si tel était le sens de la question

--
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faq.ms.word.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
Avatar
Jacky
Et pour une fois tout le monde est d'accord , 'Goto' est une instruction qui
génère beaucoup de problèmes.

Salutations
JJ

"Florian" a écrit dans le message de
news:ej8%
Merci beaucoup p à tous
Quelle célérité...
Flo riant


"Ricky [MVP]" a écrit dans le message de
news:Ogs8%
Bonjour *Florian* (et tous les lecteurs)

| If Lbl_décompte > 20 Then Go to .....
| Mais comment dois-je mettre ma borne pour que le Go to fonctionne ?
| Merci
| Flo riant

Fais l'inverse.
If Lbl_decompte <= 20 Then blablabla
End IF
Et on continue. C'est ici qu'aurait renvoyé ton Go To logiquement.
Mais Go To est une commande qui génère surtout des problèmes (de
logique)


--
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faq.ms.word.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm







Avatar
JpPradier
Bonjour Ricky

Ben oui évidemment ;-)). Celui-là, je l'oublie 9 fois sur 10.

j-p
Avatar
LeSteph
OnError Goto Autreavis
"Jacky" a écrit dans le message de
news:
Et pour une fois tout le monde est d'accord , 'Goto' est une instruction
qui


Autreavis:

msgbox "sans abus c'est pourtant redoutablement utile"

En l'occurence goto ici ne sert à rien sur celui là:
***
If ceci then goto cela
elce
if cela goto gnagna
else goto... Beurk Beurk
****
Il suffit souvent de dire
if ceci then
cela
else
autrechose
endif

Tout cela pour dire en plus du fait que goto est parfois bien pratique
que si on est embêté avec des If trop complexe , au lieu de se compliquer
encore plus avec plein de goto
il vaut mieux utiliser
un Select Case, on peut ajouter de Case autant que de besoin.

:-)

LeSteph

Avatar
Florian
Merci du tuyau !!!
Flo riant

"LeSteph" a écrit dans le message de
news:40ddc5d3$0$29384$
OnError Goto Autreavis
"Jacky" a écrit dans le message de
news:
Et pour une fois tout le monde est d'accord , 'Goto' est une instruction
qui


Autreavis:

msgbox "sans abus c'est pourtant redoutablement utile"

En l'occurence goto ici ne sert à rien sur celui là:
***
If ceci then goto cela
elce
if cela goto gnagna
else goto... Beurk Beurk
****
Il suffit souvent de dire
if ceci then
cela
else
autrechose
endif

Tout cela pour dire en plus du fait que goto est parfois bien pratique
que si on est embêté avec des If trop complexe , au lieu de se compliquer
encore plus avec plein de goto
il vaut mieux utiliser
un Select Case, on peut ajouter de Case autant que de besoin.

:-)

LeSteph