Demande aide sur un boucle For / Next [Résolu]

Signaler
Messages postés
84
Date d'inscription
samedi 26 mai 2007
Statut
Membre
Dernière intervention
14 décembre 2016
-
Messages postés
84
Date d'inscription
samedi 26 mai 2007
Statut
Membre
Dernière intervention
14 décembre 2016
-
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

Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
essaye alors avec :




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




A+
Exploreur

 Linux a un noyau, Windows un pépin
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
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
Messages postés
84
Date d'inscription
samedi 26 mai 2007
Statut
Membre
Dernière intervention
14 décembre 2016

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
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
38
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
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
crottes ^^ post croisé...salut Casy

A+
Exploreur

 Linux a un noyau, Windows un pépin
Messages postés
84
Date d'inscription
samedi 26 mai 2007
Statut
Membre
Dernière intervention
14 décembre 2016

Merci à tous

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

@+
Jerome