Rechercher : dans
Par :

Gestion de controle sous vba pour solidworks

Dernière réponse le 6 jui 2009 à 12:29:02 ami.ben, le 18 déc 2007 à 22:24:51 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « Gestion de controle sous vba pour solidworks » dans :
[Gestionnaire de périphériques] Point d'exclamation jaune VoirDans le gestionnaire des périphériques de Windows, une ligne apparaît avec un point d'exclamation dans un triangle jaune. Cela signifie qu'un périphérique branché sur l'un des ports USB de l'ordinateur n'est pas reconnu car le pilote approprié n'a...
[VBA] Ecrire/lire une série de TextBox en une seule Sub VoirEn VBA, les TextBox ne disposent pas d'un index et dans la plupart des cas, pour entrer du texte, on procède par.. TextBox1.Text = Cells(2,1).value TextBox2.Text = Cells(2,2).value TextBox3.Text = Cells(2,3).value Et l'inverse pour lire les...
Télécharger Notebook Hardware Control VoirNotebook Hardware Control est un outil de contrôle des composants de votre Notenook. - Il contrôle la gestion d'alimentation de votre système. - Il personnalise Notebook (open source). - Il prolonge la durée de vie de votre batterie. - Il...
Télécharger Bandwidth Controller Personal Edition VoirAvec une bonne gestion de votre flux réseau, vous aurez une nette amélioration de vos échanges de données. Bandwidth Controller est un outil permettant de contrôler les flux réseau de façon individuelle. Vous pourrez ainsi définir les taux d'envoi et...
VBScript - Les fonctions de date et de temps VoirLes fonctions de date et de temps Fonction Description Date Retourne la date du système DateAdd(interval, number, date) Ajoute un intervalle de temps (interval) à une...

1

Polux31, le 19 déc 2007 à 01:54:28

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

Répondre à Polux31

2

Roberto, le 6 jui 2009 à 11:45:33

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.

Répondre à Roberto

3

 Polux31, le 6 jui 2009 à 12:29:02

Merci de bien tout lire ... et de ne pas dire n'importe quoi.

Chez moi ça a toujours fonctionné ^^
«Ce que l'on conçoit bien s'énonce clairement, Et les mots p­our le dire arrivent aisément.» 
Nicolas Boileau

Répondre à Polux31
Collection CommentÇaMarche.net