Probleme avec For each en VB6

Résolu
mikymaxsp28 Messages postés 30 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 18 septembre 2020 - 5 mai 2008 à 20:59
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 6 mai 2008 à 12:36
Bonsoir a tous,

Je souhaite utiliser une boucle For Each pour récupèrer le nom de chaque control de mon formulaire.
Mon problème est que ma boucle For Each me renvois un boolean et non le nom de ces controls.

Dim e

For each e in Form1
   appel procedure
next

Quelqu'un aurait une idée?

Si quelqu'un a une bonne solution pour redimensionner ces controls lors de l'agrandissement du formulaire, ca serai cool aussi.

Merci.

13 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
5 mai 2008 à 21:40
Dim e As Control

For each e in Form1.Controls
   MsgBox e.Name
next

Ca ne fonctionne pas ?

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA/STRON
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 129
5 mai 2008 à 21:19
Salut,

essaye : For each e in Form1.controls

Pour le redimensionnement des contrôles : recherche dans les sources il y en a plusieurs à ce sujet !
______________________________________
DarK Sidious
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
5 mai 2008 à 21:22
Salut

Et je rajouterai même :
Dim e As Control

Humm redimensionner ? Facile :
http://www.vbfrance.com/codes/METHODE-ZOOM-SUR-FORM-CONTROLES_40519.aspx

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA/STRON
0
mikymaxsp28 Messages postés 30 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 18 septembre 2020
5 mai 2008 à 21:38
non, ca ne fonctionne pas.

e toujour egal a Faux.
0

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

Posez votre question
mikymaxsp28 Messages postés 30 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 18 septembre 2020
5 mai 2008 à 21:47
non
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
5 mai 2008 à 21:51
Je viens de tester, c'est nickel pour moi.
Ta form s'appelle bien Form1 ?

Qu'est ce que tu as comme erreur avec mon code ?

Et lances-tu ce code depuis Form1, ou depuis une autre Form ? (car Form1 doit être chargée)

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA/STRON
0
mikymaxsp28 Messages postés 30 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 18 septembre 2020
5 mai 2008 à 22:05
pas de mess d'erreur.

et je lance bien depuis form1, c la seul que g pour le moment

je lance dans le formload.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
5 mai 2008 à 22:09
Là je t'avoue que je ne vois pas.
Même dans le Load de la Form, les MsgBox s'affichent bien.

Au cas où, remplace Form1 par Me (mais je doûte que cela change quelques chose)

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA/STRON
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
5 mai 2008 à 22:13
Bonsoir,

Bon...

Je lis :

For each e in Form1
   appel procedure
next

Montre-nous donc ce qui vient  à la place de "appel procédure", mais également le code de ta "procédure" depuis son entête jusqu'à sa fin, hein ...

Juste pour voir ce que c'est et si, par hasard, ce n'est finalement pas une fonction retournant une booléenne.
0
mikymaxsp28 Messages postés 30 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 18 septembre 2020
5 mai 2008 à 22:13
non toujour pareil
c quand meme étrange.

il n'y aurai pas un propiété du formulaire qui serai mal renseigné?
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 mai 2008 à 01:56
quel est ton code exact (plusieurs te l'on demandé, je tente ma chance)
0
mikymaxsp28 Messages postés 30 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 18 septembre 2020
6 mai 2008 à 12:32
En fait ca fonctionne Mortalino,
c moi qui a mal lus ce que tu à mis.

for each e in form1
   call msgbox(e.name)
next

Donne bien le nom des controls.
Si on met que (e), les nom apparesse aussi mais pas pour le command Bouton qui renvois un boolean.

Merci a tous.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 mai 2008 à 12:36
ne jamais passer par les propriétés par default ^^
0
Rejoignez-nous