Utilisation de goto et les prob engendrés ?

Utilisation de goto et les prob engendrés ? - VB/VBA/VBS - Programmation

Marsh Posté le 06-11-2008 à 23:37:52    

Bonjour,
 
Je compte utiliser goto dans une procéduire et je me demandais les problemes que cela pourrait engendrer:
 
Cas 1-------------------------------------------------
for index1........
  select case
  case x
    goto toto
  case y
  end select
toto:
next index1
--------------------------------------------------------
 
Cas 2---------------------------------------------------
for index1........
   for index2......
      goto toto
   next index2
toto:
next index1
---------------------------------------------------------
(on va s'arreter ici avec 2 cas)
 
Cas 1 : aurai je des probleme avec 'select case' lors d'un prochaine appel sans avoir passer par 'end select' ?
Cas 2 : aurai je des probleme dans un futur proche ou éloigné ?
 
Merci

Reply

Marsh Posté le 06-11-2008 à 23:37:52   

Reply

Marsh Posté le 07-11-2008 à 07:06:24    

Bonjour,
Je dirais: cas1   goto  inutile, il le fait tout seul:
 
l'aide sur select case précise:testexpression correspond à un élément de la liste expressionlist associé à une clause Case, le bloc d'instructions qui suit cette clause est exécuté jusqu'à la clause Case suivante ou jusqu'à End Select, dans le cas de la dernière clause. Le contrôle passe ensuite à l'instruction qui suit End Select. Si expressiontest correspond à une expression de la liste expressionlist dans plusieurs clauses Case, seules les instructions qui suivent la première correspondance sont exécutées
 
cas 2 : exit for est peut-être plus approprié voir aide
 
Vous pouvez également placer des instructions Exit For pour quitter la boucle à tout moment. L'instruction Exit For est souvent placée après l'évaluation d'une condition (If…Then, par exemple) ; elle passe la main à l'instruction située immédiatement après l'instruction Next.
 
 
Cordialement

Reply

Marsh Posté le 13-11-2008 à 14:01:15    

Bonjour,
 
Les problèmes engendrés par le goto, c'est notamment que c'est illisible, et parfois source d'erreurs
Pourquoi ne pas faire des procédures supplémentaires ?
 
Sinon, +1 avec ce qui a été dit au dessus

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed