Probleme avec For each en VB6 [Résolu]

Messages postés
31
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
13 janvier 2014
- - Dernière réponse : Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
- 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.
Afficher la suite 

13 réponses

Meilleure réponse
Messages postés
6789
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 210 internautes nous ont dit merci ce mois-ci

Commenter la réponse de mortalino
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
83
0
Merci
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
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
6789
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
0
Merci
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
Commenter la réponse de mortalino
Messages postés
31
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
13 janvier 2014
0
Merci
non, ca ne fonctionne pas.

e toujour egal a Faux.
Commenter la réponse de mikymaxsp28
Messages postés
31
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
13 janvier 2014
0
Merci
non
Commenter la réponse de mikymaxsp28
Messages postés
6789
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
0
Merci
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
Commenter la réponse de mortalino
Messages postés
31
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
13 janvier 2014
0
Merci
pas de mess d'erreur.

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

je lance dans le formload.
Commenter la réponse de mikymaxsp28
Messages postés
6789
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
0
Merci
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
Commenter la réponse de mortalino
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
18
0
Merci
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.
Commenter la réponse de jmfmarques
Messages postés
31
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
13 janvier 2014
0
Merci
non toujour pareil
c quand meme étrange.

il n'y aurai pas un propiété du formulaire qui serai mal renseigné?
Commenter la réponse de mikymaxsp28
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
quel est ton code exact (plusieurs te l'on demandé, je tente ma chance)
Commenter la réponse de Renfield
Messages postés
31
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
13 janvier 2014
0
Merci
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.
Commenter la réponse de mikymaxsp28
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
ne jamais passer par les propriétés par default ^^
Commenter la réponse de Renfield