Gestion de controle sous vba pour solidworks

Fermé
ami.ben Messages postés 1 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 18 décembre 2007 - 18 déc. 2007 à 22:24
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 6 juil. 2009 à 12:29
Bonjour,

voici mon probleme:
sous vba (solidworks), je parviens a creer dynamiquement des controles "CheckBox." dans une frame par l'intermediaire du code suivant:

Dim Macmd As Control

Set Macmd = frm1.Frame1.Controls.Add("Forms.CheckBox.1")
Macmd.Left = 210
Macmd.Top = v_top
Macmd.Width = 11
Macmd.Height = 13
Macmd.Font.Size = 9
Macmd.Value = True
cela fonction tres bien, mais le probleme est que si l'utilisateur active ou desactive le controle, je ne sais pas comment recupere l'information
(Value = True ou Value = False)
j'espere etre assez claire.
Pour information le code me sert aussi a creer des zones de texte, des zones de liste modifiable et des labels.
si qq pouvait m'aider, merci d'avance.

Ami ben

3 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
19 déc. 2007 à 01:54
Bonjour,

Déclare une variable générale, par exemple i que tu vas incrémenter à chaque création d'un contrôle. Ensuite donne un nom à ton contrôle de la façon suivante :


i = 1
Set Macmd = frm1.Frame1.Controls.Add("Forms.CheckBox.1","monNom" & i, true) ' true pour rendre le contrôle visible
... bla bla ...
i = i + 1

Il suffit de parcourrir les contrôles pour récupérer son état (sur le changement de formulaire par exemple):

Dim Macmd As Control 'moi j'utilise Object !!!
Dim j As Long

For j = 1 to i - 1
Set Macmd = frm1.Frame1.Controls("monNom" & j)
If Macmd.Value = true then
'ici ton code
Else
'....
End If
Next j

;o)

polux
0
Je reprend la suite parce qu'il n'y a pas de réponse.
La question est très bien posée, mais la solution...

En effet, en utilisant l'objet "Control", on n'a accès qu'on propriétés générique du controle. Donc pas possible d'avoir BackColor, ForeColor et encore moins Value !

Donc, est-ce que quelqu'un à une solution?

Merci de tester vos solution avant de poster.
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
6 juil. 2009 à 12:29
Merci de bien tout lire ... et de ne pas dire n'importe quoi.

Chez moi ça a toujours fonctionné ^^
0