Probleme avec for each

cs_souvent Messages postés 26 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 16 avril 2009 - 29 mars 2007 à 08:47
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 30 mars 2007 à 03:27
Bonjour, j'ais un souci d'adaptation avec vb.

je fais tourner un for each et je voudrais recupérer tous les "ele.contenu" ensuite les affecté à des variables en fonction du nombre d'element retourner,mais je vois pas du tout comment faire ,un tableau? ou une list? et comment recupérer le contenu de la liste ou du tableau.

strvar =""

For Each elem In ELEMENT1

strvar = elem.Contenu

Next

message1= strvar(1)
message2= strvar(2)
...


Merci de votre aide

15 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
29 mars 2007 à 08:59
Bonjour,

For each .... Next
sert à répéter des instructions pour chaque élément présent dans un groupe d'éléments (collection, array...)
et s'utilise ainsi :

For each element in groupe_d_elements
   '----------instructions de ton choix
  ' si tu veux "alimenter" une variable ou un tableau, c'est ici que tu le dis....
  'exemple : list1.additem .... element.machin_chouette
next
0
cs_souvent Messages postés 26 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 16 avril 2009
29 mars 2007 à 09:02
oups... comment fait on pour formater le code? desolé pour cette logne continu,je vais essayer avec les balises

strvar =""


For Each elem In ELEMENT1


strvar = elem.Contenu


Next


message1= strvar(1)


message2= strvar(2)


....



Merci de votre aide
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
29 mars 2007 à 09:06
Je ne te comprends pas !
Apparemment strvar est un tableau ?
si oui : tu ne peux écrire strvar = elem.Contenu
si non : tu ne peux écrire : message1= strvar(1)

tu sais ce qu'est un tableau dynamique et comment on l'utilise, déjà ?
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
29 mars 2007 à 09:10
Va voir le 2ème message de la page 2 de cette discussion :
http://www.vbfrance.com/infomsg_AIDE-BUG-DANS-MON-SCRIPT_911046.aspx
0

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

Posez votre question
cs_souvent Messages postés 26 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 16 avril 2009
29 mars 2007 à 09:45
merci pour votre rapidité,désolé je ne suis pas très fort en vb mais je suis motivé pour le devenir.;-)

à koi correspond list1.additem,
le but serait de recupérer tous les elements renvoyer par le for each,
et de les affiché dans un Msgbox,

ps: pourriez vous me dire comment formater mon code pour qu'il soit plus lisible,il y t'il une balise specifique, Merci
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
29 mars 2007 à 09:51
Pour le formatage de ton code, je pense que c'est ta version de FireFox qui ne va pas ...
Moi, je me contente de copier-coller de mon code VB et tout va bien...

- List1.additem ?
Ce serait pour ajouter des items à une listbox nommée List1

Mais ne te disperse pas pour l'instant !
Reste avec ton idée de tableau
pour ce qui est de la déclaration et de l'utilisation d'un tableau dynamique, je t'ai renvoyé vers un exemple "parlant", non ?
Ceci ne doit pas te dispenser, bien au contraire, d'ouvrir et bûcher MSDN !
0
cs_souvent Messages postés 26 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 16 avril 2009
29 mars 2007 à 10:11
Merci , en effet ton exemple est bien parlant, j'aurais donc besoin d'un tableau à 2 colonnes (nom, prenom)
et en fonction du nombre d'utilisateur je determinerais automatiquement le nombre de ligne.

Private Sub Command1_Click()
  Dim toto(?, 1) As String 

End Sub

Private Sub Message1_Click()
For Each elem In ELEMENT1
      toto(?,?) = elem.Contenu
Next

toto(?,?)= elem.Contenu (1)
toto(?,?)= elem.Contenu (2)

Msgbox (toto(?,1))
end sub

Voila où j'en suis , excusez moi pour ce brouillon ,suis-je tres loin? où dois-je Bucher encors??
0
cs_souvent Messages postés 26 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 16 avril 2009
29 mars 2007 à 11:02
Abandonné , je suis ?
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
29 mars 2007 à 11:02
Oui, tu dois manifestement bûcher.

Déjà : comment peux-tu mettre dans un tableau à 2 colonne une seule valeur :
Je lis ce que tu as é&crit :
toto(?,?) = elem.Contenu

Qu'est vet que contient contenu et sous quelle forme ?
Car si contenu n'est pas lui même un tableau ou une énumération structurée,
- ton toto(x,y) se résumerait à un toto(x)
- ce qui est encore plus surprenant, c'est :
elem.Contenu  comparé (plus loin)
à
 
elem.Contenu (1)
en d'autres termes : j'ai beaucoup de mal à deviner ce que tu as en fait, tant dans une collection  ELEMENT1 que dans chaque contenu des éléments de ELEMENT1...
Et comme ce que je lis de ce que tu as écrit jusqu'à présent me donne à penser que tu n'en n'es pas à un niveau avancé, je ne crois pas que tu aies une collection de structures (ou alors : définis-les nous clairement, qu'on puisse y voir suffisamment clair, ce qui est pour l'instant très loin d'être le cas  !...).
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
29 mars 2007 à 11:27
Ouais,

Quand je te relis, en plus, là :
http://www.developpez.net/forums/showthread.php?t=305460

Que je constates que tu y "jettes" comme çà, de façon très confuse, ce que tu as "glané" de façon incomprise ici,

(et que, bien évidemment, plus personne n'y comprend rien...)

Je me dis qu'il est très clair que tu es totalement dépassé, au point de ne même pas savoir exposer ce dont tu as besoin...

Alors : si tu veux que cette discussion puisse continuer de façon utile :

Expose ton problème clairement, avec précision et dans le détail (en définissant notamment le type de chaque chose)

Voilà.
0
cs_souvent Messages postés 26 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 16 avril 2009
29 mars 2007 à 11:43
je recherche quelque chose de tres simple ,pour rien te caché je suis plus specialisé dans le php, c'est pour ca que je me mélange beaucoup les pinceau,
en php j'aurais mis en place ce bout de code en une fraction de seconde , mais je ne connais pas les syntaxe vb c'est la raison pour laquel je parais aller tro vite en vb avec peu de base,
oui je suis un debutant en vb et je suis totalement depassé sinon je ne serais pas ici pour qu'on note mon niveau .
oui je suis depassé comme toi tu le serais dans d'autre domaine et je cherche de l'aide comme toi tu chercherais de l'aide dans un domaine qui te passione mais que tu connais rien, 
BREF, je ne suis pas venu ici pour m'expliquer, ou qu'on me dise où je vais (d'ailleurs tu as oublié de mentionné le nom d'autre forum où j'ais poster ,je ne t'en tiendrais pas riguer, ca passe pour cette fois)

et toi veux tu continuer a m'aider ou pas? 

merci  
0
cs_souvent Messages postés 26 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 16 avril 2009
29 mars 2007 à 12:36
Bon on aura compris, merci quand meme "Membre Club" je comprends qu'il n'y est pas toujours des post passionnant et que tu dois sans doute etre lassé .


Mais moi je commence et j'ais besoin d'un peu de soutien et j'esperais en trouver dans ce forum mais visiblement personne pour m'aider.


dommage pour moi et pour vous aussi


 
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
29 mars 2007 à 13:41
Ecoute;
là, vois-tu, tu lasses vraiment ...
Si tu sais déjà développer (sous un langage ou un autre), il y a au moins une chose que tu dois surement savoir faire :
Exposer clairement chaque chose (sans quoi, nul ne peut développer) ...
On attend toujours que tu saches au moins faire celà !

Si maintenant, tu viens ici pour dire : je veux faire ceci mais je ne sais pas exprimer quoi exactement (ici et ailleurs... en plus),
NUL NE POURRA CERTES T'AIDER A SAVOIR CE QUE TU VEUX !

Bonne chance..
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 mars 2007 à 23:27
salut,
souvent -> quand tu ne comprends pas ou n'entends pas bien une phrase, tu peux demander qu'on te la répète
mais là c'est un forum... les paroles s'envolent, les écrits restent
(ne pas m'en demander plus niveau prose )

bref tu as sans doute compris ou je veux en venir non? pas la peine de poster et reposter, surtout si au final tu n'arrives qu'à lasser les membres qui cherchent à t'aider.
relis simplement les réponses, cherche et reviens ensuite avec l'historique, les manoeuves (donc l'évolution) et les nouveaux problèmes rencontrés avec le code précis

les personnes qui te répondent ne le font que dans le but d'aider (pour la majeure partie), à toi donc de savoir lire leurs réponses (et entre leurs lignes)

ps : tu peux donner suite ici, pas la peine d'ouvrir un nouveau thread puisqu'on en est toujours au même point

en l'attente de te lire
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
30 mars 2007 à 03:27
Peut-être pour t'aiguiller un peu... (?)

For each machin In Machins
blabla(i) = machin
Next

ici, l'index i du tablo balbla() ne veut rien dire si tu ne lui donnes pas une valeur
--------------------------------------------------------------------------------

For i = 0 to NombreDeValeurs
blabla(i) = machin
Next

Ici, i est incrémenté par la boucle, et donc blabla(i) est une entité réelle, en autant que la dimension du tableau ait été déclarée à quelque part... Par contre, machin ne veut probablement rien dire... puisqu'il ne change pas...
---------------------------------------------------------------------------------

Donc,
For each machin In Machins

blabla(i) = machin
i = i + 1

Next

Bon là je pense qu'on y arrive...

Encore faut-il que le tableau soit dimensionné comme je disais...
sinon recherche Redim Preserve pour des idées

MPi
0
Rejoignez-nous