Type de control (VBA) [Resolu] - VB/VBA/VBS - Programmation
Marsh Posté le 20-07-2006 à 09:23:01
Paul Hood a écrit : Bonjour, |
une fonction du genre .type doit exister
tu dois pouvoir faier
for each cc in usf1.controls
msgbox .name & "est un" & .type
Marsh Posté le 20-07-2006 à 09:47:36
effectivement j'ai cherché un truc du style
obj.type ou
IsDTPicker(obj) ou
TypeOf (obj)
mais ca n'a rien donné
alors A vo't bon coeur M'sieur dame
Marsh Posté le 20-07-2006 à 10:05:25
Bonjour,
Essaye avec :
For Each cc In UserForm1.Controls
If TypeName(cc) = "DTPicker" Then ...
Next
wape
Marsh Posté le 21-07-2006 à 08:36:59
wape a écrit : Bonjour, |
Je voulais éviter avec le nom...mais je crois que je ne vais pas avoir le choix
Marsh Posté le 21-07-2006 à 09:14:33
Paul Hood a écrit : Je voulais éviter avec le nom...mais je crois que je ne vais pas avoir le choix |
si cela fonctionne, c'est pas si mal déjà
Marsh Posté le 21-07-2006 à 09:35:25
Mon seul soucis c'est que ca reste lié au nom et c'est trop subjectif. Si quelqu'un d'autre maintient le programme et qu'il modifie les noms par défaut...ca marche moins bien ... c'est sûr !
Marsh Posté le 24-07-2006 à 10:28:13
Bonjour,
La fonction TypeName() renvoie le TYPE du contrôle sur lequel elle s'applique, indépendamment du nom du contrôle en question.
Que ton contrôle DTPicker s'appelle "DTPicker1", "DTPicker2" ou "Tartempion", la fonction TypeName() renverra dans tous les cas "DTPicker".
wape
Marsh Posté le 24-07-2006 à 10:34:23
wape a écrit : Bonjour, |
Nickel c'est pile poil ce qu'il me fallait...merci
J'avais pas testé avant...j'étais sûr que ca dépendait du nom (quelle truffe je suis !!!)
Marsh Posté le 20-07-2006 à 08:44:07
Bonjour,
A part sur le nom du control, y a-t-il un moyen pour retrouver le type d'un control (label, DTPicker, etc..)
Dans ma boucle je ne veux traiter que les DTPicker
For each cc in userform1.controls
if cc "estun" DTPicker then ...
next
Merci
Message édité par Paul Hood le 24-07-2006 à 10:34:41