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
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
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
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
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
41
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
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
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