Demande aide sur un boucle For / Next

Résolu
winvsmac Messages postés 84 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 14 décembre 2016 - 1 sept. 2008 à 13:18
winvsmac Messages postés 84 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 14 décembre 2016 - 1 sept. 2008 à 14:08
Bonjour,

Décidément, moi et les boucles ça fait 2. J'ai de nouveau besoin d'aide ! Environnement VB6.

Voici une copie d'écran pour que se soit plus simple à comprendre :

Dans la zone 1, je créé de nouveux enregistrements (des évènements).
Dans la zone 2, je fais un double clique pour choisir les personnes participants à l'évènement
et ces participants s'affichent dans la zone 3.

En validant mon enregistrement, je dois avoir dans une table, un enregistrement par participant défini dans la zone 3.

Mais, une fois l'enregistrement effectué, je me rends compte, que la boucle est mal conçue. En effet, je vois bien que j'ai 4 enregistrements dans ma table
(cart 4 participants dans la zone 3), mais c'est quatre fois le meme, c'est à dire qu'il boucle sur le premier participant de la liste dans la zone 3.

La liste de la zone 3 se nome Liste_Ptcp


Voici le bout de code générant la boucle :




If Liste_Ptcp.ListCount > 0 Then
   For i = Liste_Ptcp.ListCount - 1 To 0 Step -1



      With evtadh
         .AddNew
         !numero = Mid(Liste_Ptcp.Text, 1, 14)
         !idevt = evt!id
         !quand = evt!quand
         !theme = evt!sujet
         .Update
       End With
   Next i
End If


J'ai beau relire le code, triturer la boucle dans tous les sens, je n'y parviens.
Si une âme binefaitrice veut bien m'aider ....
Un grand merci

Jerome

6 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
1 sept. 2008 à 13:55
essaye alors avec :




!numero = Mid(Liste_Ptcp.List(i), 1, 14)




A+
Exploreur

 Linux a un noyau, Windows un pépin
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
1 sept. 2008 à 13:31
Salut,

Et comme çà je soupçonne une boucle à l'envers ^^ :

For i = 0 To Liste_Ptcp.ListCount -1

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
winvsmac Messages postés 84 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 14 décembre 2016
1 sept. 2008 à 13:35
Bonjour Exploreur

Même avec ceci 'For i = 0 To Liste_Ptcp.ListCount -1'
je n'arrive pas au résultat escompté.
Merci tout de meme, c'est sympa d'avoir pris le temps de regarder mon message.

Jerome
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
1 sept. 2008 à 13:51
Avec Liste_Ptcp.Text  tu ne prend que la valeur de la ligne sélectionnée.

Visiblement tu veux passer la totalité de la liste. Il afut donc que tu joue sur les items de cette liste.

Je ne connais plus la syntaxe en VB6, mais tu devrais avoir quelque chose du genre Liste_Ptcp.Item(i), ou peut-etre Liste_Ptcp.ListItem(i)

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
1 sept. 2008 à 13:56
crottes ^^ post croisé...salut Casy

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
winvsmac Messages postés 84 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 14 décembre 2016
1 sept. 2008 à 14:08
Merci à tous

en effet, avec liste_ptcp.list(i) ça marche mieux !

@+
Jerome
0
Rejoignez-nous