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
131
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
7668
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
71
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
71
6 mai 2008 à 12:36
ne jamais passer par les propriétés par default ^^
0