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 3
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 3
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 3
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 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
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 3
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
Rejoignez-nous