Récupérer le type dechaque contrôle d'une form

Résolu
farbin
Messages postés
6
Date d'inscription
jeudi 9 décembre 2004
Statut
Membre
Dernière intervention
9 décembre 2004
- 9 déc. 2004 à 18:39
farbin
Messages postés
6
Date d'inscription
jeudi 9 décembre 2004
Statut
Membre
Dernière intervention
9 décembre 2004
- 11 déc. 2004 à 11:16
Bonjours,
J'ai fais une recherche sur votre site et j'ai trouvé que pour trouver le type de chaque controle d'une form, il fallait utiliser le mot typeOf. J'ai donc utilisé ceci pour rendre indisponible les TextBox (en VBA Excel) :

Dim Ctrl as Control

For each Ctrl in Controls
if TypeOf Ctrl is TextBox then
Ctrl.enabled = false
end if
next Ctrl

Or ceci ne fonctionne pas, en fait il ne se passe rien et en mode pas à pas la boucle ne semble pas repérer les textbox.

Merci de m'expliquer ce qu'il se passe (ou plutôt se qu'il ne se passe pas)

Farbin

9 réponses

farbin
Messages postés
6
Date d'inscription
jeudi 9 décembre 2004
Statut
Membre
Dernière intervention
9 décembre 2004

11 déc. 2004 à 11:15
Ok sympa, ça marche merci pour tout
Farbin
3
valtrase
Messages postés
937
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
9 mai 2022
4
9 déc. 2004 à 19:56
Salut,

Le retour de TypeOf est une chaine de caractère donc:

if TypeOf Ctrl is "TextBox" then


____________________________________________________

Cordialement, Jean-Paul

Le Savoir n'a de valeur que s'il est partagé
0
valtrase
Messages postés
937
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
9 mai 2022
4
9 déc. 2004 à 19:59
dsl me suis trompé !!!!!
____________________________________________________

Cordialement, Jean-Paul

Le Savoir n'a de valeur que s'il est partagé
0
valtrase
Messages postés
937
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
9 mai 2022
4
9 déc. 2004 à 20:05
Re,
Tu devrais essayer avec Me.Controls

____________________________________________________

Cordialement, Jean-Paul

Le Savoir n'a de valeur que s'il est partagé
0

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

Posez votre question
farbin
Messages postés
6
Date d'inscription
jeudi 9 décembre 2004
Statut
Membre
Dernière intervention
9 décembre 2004

9 déc. 2004 à 20:19
Je viens d'essayer mais cela ne change rien

Farbin
0
farbin
Messages postés
6
Date d'inscription
jeudi 9 décembre 2004
Statut
Membre
Dernière intervention
9 décembre 2004

9 déc. 2004 à 21:10
Je viens de me rendre compte que le code fonctionne très bien en VB mais pas en VBA donc si quelqu'un a une idée pour passer outre cette limite. Merci d'avance
Farbin
0
jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
10 déc. 2004 à 09:46
Salut,

J avais deja note ce probleme de For Each ... in Me.controls en vba.

Essaie de voir ce post peu etre peut il t aider un peu,

Pour contourne le probleme le gars a utiliser les nom des controls au lieu du typeof

Va voir ICI
@+
Julien
-----------------------------------------------------------
:big) Essaie ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
0
valtrase
Messages postés
937
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
9 mai 2022
4
10 déc. 2004 à 19:09
Salut,

Bon Je pense qu'il y a un bug au niveau d'Excel car ça tourne sous Acess et sous VB.
J'ai contourné le problème voilà le code
Dim ctl As Control
For Each ctl In Me.Controls

If TypeName(ctl) = "TextBox" Then
ctl.Enabled = False
End If
Next ctl


Je pense que VBA pour Ecxel est sensible à la Case

____________________________________________________

Cordialement, Jean-Paul

Le Savoir n'a de valeur que s'il est partagé
0
farbin
Messages postés
6
Date d'inscription
jeudi 9 décembre 2004
Statut
Membre
Dernière intervention
9 décembre 2004

11 déc. 2004 à 11:16
Ok sympa, ça marche merci pour tout
Farbin
0