Probleme avec For each en VB6 [Résolu]

Signaler
Messages postés
29
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
13 janvier 2014
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
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

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
17
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
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
102
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
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
17
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
Messages postés
29
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
13 janvier 2014

non, ca ne fonctionne pas.

e toujour egal a Faux.
Messages postés
29
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
13 janvier 2014

non
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
17
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
Messages postés
29
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
13 janvier 2014

pas de mess d'erreur.

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

je lance dans le formload.
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
17
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
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
23
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.
Messages postés
29
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
13 janvier 2014

non toujour pareil
c quand meme étrange.

il n'y aurai pas un propiété du formulaire qui serai mal renseigné?
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
quel est ton code exact (plusieurs te l'on demandé, je tente ma chance)
Messages postés
29
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
13 janvier 2014

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.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
ne jamais passer par les propriétés par default ^^