Les structures de répétitions en vb
Résolu/Fermé
xoxo91
Messages postés
38
Date d'inscription
samedi 25 septembre 2010
Statut
Membre
Dernière intervention
2 août 2012
-
25 sept. 2010 à 21:07
xoxo91 - 28 sept. 2010 à 00:43
xoxo91 - 28 sept. 2010 à 00:43
A voir également:
- Les structures de répétitions en vb
- Vb cable - Télécharger - Audio & Musique
- Vb - Télécharger - Langages
- Structure d'un rapport de stage - Guide
- Logiciel de calcul de structure gratuit - Télécharger - Architecture & Déco
- Vb editor - Télécharger - Langages
5 réponses
ghuysmans99
Messages postés
2496
Date d'inscription
jeudi 14 juillet 2005
Statut
Contributeur
Dernière intervention
5 juin 2016
338
25 sept. 2010 à 21:23
25 sept. 2010 à 21:23
En espérant que ça t'aidera :
For i = 1 To 10 'i commence à 1, est incrémenté à chaque Next et la boucle se termine quand i dépasse 10. MsgBox i Next i For Each Article In Commande 'C'est une boucle For normale sauf qu'ici le compteur est géré par VB et l'objet Commande(i) est stocké dans Article MsgBox Article.Prix Next Article Do 'début de bloc i = i + 1 Loop While i<11 'tant que i<11, on revient au Do Do 'début de bloc i = i + 1 Loop Until i=10 'tant que la condition i=10 n'est pas remplie, on recommence While i<11 'tant que i<11, exécute les instructions entre cette ligne et le Wend i = i + 1 Wend
xoxo91
Messages postés
38
Date d'inscription
samedi 25 septembre 2010
Statut
Membre
Dernière intervention
2 août 2012
26 sept. 2010 à 03:55
26 sept. 2010 à 03:55
salut ghuysmans99, je vous remercie vraiment de votre réponse, j'ai bien compris ce que sa veut dire tous sa , mais sa sert a quoi et quand on peut utiliser ces structures là??
VieTgOOx
Messages postés
160
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
9 janvier 2011
26
26 sept. 2010 à 05:32
26 sept. 2010 à 05:32
Bonsoir xoxo91.
Avant toute chose j'aimerais juste savoir si tu t'y connais un peu en programmation avant de poser une tel question? Car l'explication de ghuysmans99 est parfaitement claire pour être sincère =) !
Alors après, deux solutions: soit tu n'y connais rien en programmation, dans ce cas il me paraitrais plus simple, si tu veux que l'on puisse t'aider efficacement, que tu nous explique pourquoi tu veux savoir tout ça; soit tu débutes, dans ce cas il serait surement raisonnable de ne pas intégrer la programmation objet dans nos explications.
Bref, pour t'expliquer plus clairement quand on peut utiliser ces "structures" je vais prendre le temps de te donner un exemple (vous m'excuserez j'ai fait très peu de VB et voilà 4 mois que je ne touche plus à la programmation...vacances oblige =D !) :
Je vais reprendre l'exemple si bien présenté de ghuysmans99 avec les articles et les commandes =)!
Admettons que tu veuilles réaliser un programme de gestion qui consiste, entre autre, à t'afficher la sommes des prix des articles d'une commande et ce pour chacune des commandes. Tu es d'accord sur le fait que nous allons avoir un nombre indéfinis d'article dans une commande. En tous cas, chaque commande n'auras pas le même nombre d'articles, et le nombre de commande évoluera au file du temps qu'elles seront passé par un ou plusieurs clients imaginaires.
Pour faire simple on va dire qu'on a une liste de tes objets Commande qu'on appellera listCommande.
Tu auras donc quelque chose qui ressemblera à ceci:
For i = 0 To listCommande.Count - 1'on compte le nombre de commande avec count
prixAafficher = 0
For Each Article in listCommande(i)
prixAafficher = prixAafficher + Article.Prix
Next Article
MsgBox(listCommande(i).Libelle, " / ", prixAafficher)
Next i
(Désolé si j'ai écrit une connerie mais il me semble bien que sa doit être ça =) )
Explications:
Le For et For Each, ici, te permettront de parcourir la totalité de tes commandes, ainsi que la totalité de chacun des articles composant chacune des commandes, pour en retirer le prix.
Tant qu'on est dans la même commande on ajoute les prix de chacun des articles parcouru et quand on a plus d'article, on affiche le libellé de la commande, avec le prix de la somme de tous les articles composant cette commande avant de passer à la commande suivante. Si t'as 500 commandes, t'auras 500 MsgBox... Donc vaudrais mieux les foutres dans une listBox si tu veux mon avis mais bon c'est juste à titre de démo.
Avec les explications de ghuysmans99, je ne vois pas mieux comment t'illustrer l'utilité et la façon d'utiliser ces "structures" comme tu les appels...
Bonne nuit, en espérant t'avoir éclairé...et si t'y connais rien en objet, je suis pas sûr que mon explication t'aideras beaucoup mais bon.
Au plaisir,
VieTgOOx.
Avant toute chose j'aimerais juste savoir si tu t'y connais un peu en programmation avant de poser une tel question? Car l'explication de ghuysmans99 est parfaitement claire pour être sincère =) !
Alors après, deux solutions: soit tu n'y connais rien en programmation, dans ce cas il me paraitrais plus simple, si tu veux que l'on puisse t'aider efficacement, que tu nous explique pourquoi tu veux savoir tout ça; soit tu débutes, dans ce cas il serait surement raisonnable de ne pas intégrer la programmation objet dans nos explications.
Bref, pour t'expliquer plus clairement quand on peut utiliser ces "structures" je vais prendre le temps de te donner un exemple (vous m'excuserez j'ai fait très peu de VB et voilà 4 mois que je ne touche plus à la programmation...vacances oblige =D !) :
Je vais reprendre l'exemple si bien présenté de ghuysmans99 avec les articles et les commandes =)!
Admettons que tu veuilles réaliser un programme de gestion qui consiste, entre autre, à t'afficher la sommes des prix des articles d'une commande et ce pour chacune des commandes. Tu es d'accord sur le fait que nous allons avoir un nombre indéfinis d'article dans une commande. En tous cas, chaque commande n'auras pas le même nombre d'articles, et le nombre de commande évoluera au file du temps qu'elles seront passé par un ou plusieurs clients imaginaires.
Pour faire simple on va dire qu'on a une liste de tes objets Commande qu'on appellera listCommande.
Tu auras donc quelque chose qui ressemblera à ceci:
For i = 0 To listCommande.Count - 1'on compte le nombre de commande avec count
prixAafficher = 0
For Each Article in listCommande(i)
prixAafficher = prixAafficher + Article.Prix
Next Article
MsgBox(listCommande(i).Libelle, " / ", prixAafficher)
Next i
(Désolé si j'ai écrit une connerie mais il me semble bien que sa doit être ça =) )
Explications:
Le For et For Each, ici, te permettront de parcourir la totalité de tes commandes, ainsi que la totalité de chacun des articles composant chacune des commandes, pour en retirer le prix.
Tant qu'on est dans la même commande on ajoute les prix de chacun des articles parcouru et quand on a plus d'article, on affiche le libellé de la commande, avec le prix de la somme de tous les articles composant cette commande avant de passer à la commande suivante. Si t'as 500 commandes, t'auras 500 MsgBox... Donc vaudrais mieux les foutres dans une listBox si tu veux mon avis mais bon c'est juste à titre de démo.
Avec les explications de ghuysmans99, je ne vois pas mieux comment t'illustrer l'utilité et la façon d'utiliser ces "structures" comme tu les appels...
Bonne nuit, en espérant t'avoir éclairé...et si t'y connais rien en objet, je suis pas sûr que mon explication t'aideras beaucoup mais bon.
Au plaisir,
VieTgOOx.
Salut VieTgOOx.
je te remercie d'abord pour ton fameux message :D.
À vrai dire , je suis encore débutant en vb c'est vrai que j'y connai pas grand chose, mais j'essaye de faire de tout mon mieux pour bien apprendre à utiliser ces structures là ,car c'est la base...
Sinon ton explication est bien claire sa c'est sur,mais comme je t'avais dit il me faut un peu de temp car tous sa est nouveau pour moi..^^.
Merci encore :D.
Au plaisir,
XOXO91 ...:D:D.
je te remercie d'abord pour ton fameux message :D.
À vrai dire , je suis encore débutant en vb c'est vrai que j'y connai pas grand chose, mais j'essaye de faire de tout mon mieux pour bien apprendre à utiliser ces structures là ,car c'est la base...
Sinon ton explication est bien claire sa c'est sur,mais comme je t'avais dit il me faut un peu de temp car tous sa est nouveau pour moi..^^.
Merci encore :D.
Au plaisir,
XOXO91 ...:D:D.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question