Une p'tite question con sur un FOR [VB] - VB/VBA/VBS - Programmation
Marsh Posté le 11-07-2006 à 08:45:14
ReplyMarsh Posté le 11-07-2006 à 08:52:13
Caedes a écrit : autrement, suffit de mettre le reste du code dans le else... |
wé c'est vrai
mais c'est moche
y'a surement un équivalent du "continue" non ?
Marsh Posté le 11-07-2006 à 08:56:40
zeOffspring a écrit : wé c'est vrai |
je vois pas en quoi mettre la suite dans le else est moche
ce qui est moche, c'est justement un éventuel équivalent d'un continue, car ça rend le programme difficile à suivre ! mais un "else", ça n'a rien de moche
Marsh Posté le 11-07-2006 à 08:59:24
sinon tu inverses ta condition :
Code :
|
Marsh Posté le 11-07-2006 à 09:13:37
sinon tu peux utiliser les goto
Code :
|
Marsh Posté le 11-07-2006 à 09:20:22
DamienCYS a écrit : sinon tu peux utiliser les goto |
Marsh Posté le 11-07-2006 à 09:31:54
DamienCYS a écrit : sinon tu peux utiliser les goto
|
Citation : Depuis la révolution de la programmation structurée des années 1970, l'instruction goto n'est guère appréciée des programmeurs modernes, car elle rend souvent les programmes plus difficiles à comprendre et à maintenir (on parle dans ce cas de programmation spaghetti). On utilise plus généralement des structures comme les sauts conditionnels (si .. alors .. sinon ..) ou les boucles (pour, tant que, etc.) qui font partie intégrante de tous les langages de programmation modernes |
Marsh Posté le 11-07-2006 à 09:32:53
DamienCYS a écrit : sinon tu peux utiliser les goto
|
Oui ça c'est de la super programmation
Marsh Posté le 11-07-2006 à 11:15:26
super les gars si vous avez que ca à faire de parcourir les forum sans proposer de solution et critiquer ceux qui en propose
Marsh Posté le 11-07-2006 à 11:30:55
ne t'en fais pas Damien, moi je trouve que ton code est po movais, et qui ne fait rien ne peut se tromper
Marsh Posté le 11-07-2006 à 11:36:10
DamienCYS a écrit : super les gars si vous avez que ca à faire de parcourir les forum sans proposer de solution et critiquer ceux qui en propose |
j'en ai proposé une hein, et plus propre
les goto, c'est à oublier ! ça fait partie d'un passé révolu, à l'époque ou les programmes comportaient des numéros de ligne. ça rend le code illisible, crade, chiant à débugger et tout !
Marsh Posté le 11-07-2006 à 12:09:09
Harkonnen a écrit : j'en ai proposé une hein, et plus propre |
Ca y est vous l'avez énervé !!
Marsh Posté le 12-07-2006 à 09:55:53
et ben moi qui pensait qu'il y avait une instruction pour faire ça
enfin bon j'ai changé mon test et c'est plus simple comme ça
merci à tous
Marsh Posté le 12-07-2006 à 09:58:43
le plus simple pour ma part, c'est lorsque tu veux faire sortir de la boucle for, tu mets ton compteur à la valeur juste supérieure à celle de ta boucle, comme ca ton next s'applique, mais tu ne tournes plus dans ta boucle ^^
exemple
for i=1 to 5
if balbla=blabla then
i=6
next i
Marsh Posté le 12-07-2006 à 10:03:46
jpcheck a écrit : le plus simple pour ma part, c'est lorsque tu veux faire sortir de la boucle for, tu mets ton compteur à la valeur juste supérieure à celle de ta boucle, comme ca ton next s'applique, mais tu ne tournes plus dans ta boucle ^^ |
Ou exit for ca permet de savoir à quelle valeur de i t'es sorti !
Marsh Posté le 17-07-2006 à 08:56:46
jpcheck a écrit : le plus simple pour ma part, c'est lorsque tu veux faire sortir de la boucle for, tu mets ton compteur à la valeur juste supérieure à celle de ta boucle, comme ca ton next s'applique, mais tu ne tournes plus dans ta boucle ^^ |
mais c'est un festival ma parole
Marsh Posté le 11-07-2006 à 08:27:41
Salut à tous,
J'ai un problème tout con : comment sortir d'une boucle for
(enfin pas réellement sortir, pas un "exit for" ) mais comment passer à l'indice suivant
en sautant le reste du code de la boucle suivant le résultat d'un test ?
Je n'arrive pas à trouver sur le Net
Je laisse place au code pour être plus parlant :
For IndexFax = 1 To NbClientsFax
Set rstClientFax = dba.OpenRecordset("SELECT * FROM Client WHERE [Code Client]=" & TabDestFax(IndexFax - 1).CodeClient)
If rstClientFax!Contact = vbNullString Then
'Pas de contact spécifié, on passe au client suivant sans envoyer le fax
'... INSTRUCTION POUR PASSER AU PROCHAIN IndexFax ???
End If
Call Fax.SendFax(rstClientFax!Société, rstClientFax!Contact, rstClientFax!Fax, rstClientFax!Ccial, 1, txtPrix)
Next IndexFax
Je sais, il me manque sûrement une petite instruction de rien du tout mais je n'arrive pas à trouver
Merci de votre aide
++
Seb
Message édité par zeOffspring le 11-07-2006 à 08:29:45