Probleme avec for each

Signaler
Messages postés
26
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
16 avril 2009
-
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
-
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

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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
Messages postés
26
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
16 avril 2009

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
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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à ?
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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
Messages postés
26
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
16 avril 2009

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
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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 !
Messages postés
26
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
16 avril 2009

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??
Messages postés
26
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
16 avril 2009

Abandonné , je suis ?
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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  !...).
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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à.
Messages postés
26
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
16 avril 2009

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  
Messages postés
26
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
16 avril 2009

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


 
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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..
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
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
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
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