1) déselectionner tout les boutons options, à l'ouverture de mon classeur.
Mes bouton radio viennent de la B.O contrôle
J'utilise la macro suivante pour chacun de mes boutons radio que je met dans
le module du classeur mais ça ne fonctionne pas.
For each machin ActiveSheet.OLEObjects
if machin. NameLike"optionradio*" Then
ActiveSheet.OLEObjects(machin.Name).Object.Value = False
End if
Next
End Sub
2) Lorsque un bouton option de la BO contrôle est sélectionner.Comment faire
pour éxecuter la macro associée à ce bouton lorsque l'on reclic dessus ?
Je ne suis pas certain... mais cela doit avoir quelque chose à voir avec une propriété du contrôle ... et pourquoi pas la propriété "Name" qui est toujours la première listée dans l'affichage des propriétés d'un contrôle. Dans la base de registre, les objets, méthodes, propriétés sont référencés à partir d'une valeur numérique... regarde dans la base de registre dans Key_Class_Root , la syntaxe utilisée !
Moi je préfère cette syntaxe .... c'est moins ésotérique !
For Each ctrl In ActiveSheet.OLEObjects If ctrl.progID Like "Forms.OptionButton.1" Then ctrl.Object.Value = False End If Next
Forms.OptionButton.1 correspond au paramètre "ClassType" de la méthode ADD de la colllection OleObjects
Pourquoi Forms dans l'appellation , parce que cette classe objet provient de la bibliothèque "Microsoft Forms 2.0 object librairy" qui s'est ajouté au classeur dès que l'on a ajouté un objet émanant de la boîte à outils "contrôle"
"JLuc" a écrit dans le message de news: Petit erratum :
If ctrl.ProgId Like "*OptionButton*" Then il faut lire "_ETOILE_OptionButton_ETOILE_"
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
e3ju2lLmHHA.3264@TK2MSFTNGP04.phx.gbl...
| Et pourquoi le ".1" ?
Je ne suis pas certain... mais cela doit avoir quelque chose à voir
avec une propriété du contrôle ... et pourquoi pas la propriété
"Name" qui est toujours la première listée dans l'affichage
des propriétés d'un contrôle.
Dans la base de registre, les objets, méthodes, propriétés sont
référencés à partir d'une valeur numérique...
regarde dans la base de registre dans Key_Class_Root , la syntaxe utilisée !
"JLuc" <ns.jeanluc.laurent@free.fr.ns> a écrit dans le message de news:
mn.8cc47d755f1438a4.40692@free.fr.ns...
Merci de ces précisions.
Et pourquoi le ".1" ?
Moi je préfère cette syntaxe .... c'est moins ésotérique !
For Each ctrl In ActiveSheet.OLEObjects
If ctrl.progID Like "Forms.OptionButton.1" Then
ctrl.Object.Value = False
End If
Next
Forms.OptionButton.1 correspond au paramètre "ClassType"
de la méthode ADD de la colllection OleObjects
Pourquoi Forms dans l'appellation , parce que cette classe objet provient
de la bibliothèque "Microsoft Forms 2.0 object librairy" qui s'est
ajouté au classeur dès que l'on a ajouté un objet émanant de
la boîte à outils "contrôle"
"JLuc" <ns.jeanluc.laurent@free.fr.ns> a écrit dans le message de news:
mn.8c887d75af356d11.40692@free.fr.ns... Petit erratum :
If ctrl.ProgId Like "*OptionButton*" Then
il faut lire "_ETOILE_OptionButton_ETOILE_"
Je ne suis pas certain... mais cela doit avoir quelque chose à voir avec une propriété du contrôle ... et pourquoi pas la propriété "Name" qui est toujours la première listée dans l'affichage des propriétés d'un contrôle. Dans la base de registre, les objets, méthodes, propriétés sont référencés à partir d'une valeur numérique... regarde dans la base de registre dans Key_Class_Root , la syntaxe utilisée !
Moi je préfère cette syntaxe .... c'est moins ésotérique !
For Each ctrl In ActiveSheet.OLEObjects If ctrl.progID Like "Forms.OptionButton.1" Then ctrl.Object.Value = False End If Next
Forms.OptionButton.1 correspond au paramètre "ClassType" de la méthode ADD de la colllection OleObjects
Pourquoi Forms dans l'appellation , parce que cette classe objet provient de la bibliothèque "Microsoft Forms 2.0 object librairy" qui s'est ajouté au classeur dès que l'on a ajouté un objet émanant de la boîte à outils "contrôle"
"JLuc" a écrit dans le message de news: Petit erratum :
If ctrl.ProgId Like "*OptionButton*" Then il faut lire "_ETOILE_OptionButton_ETOILE_"
Je ne suis pas certain... mais cela doit avoir quelque chose à voir avec une propriété du contrôle ... et pourquoi pas la propriété "Name" qui est toujours la première listée dans l'affichage des propriétés d'un contrôle. Dans la base de registre, les objets, méthodes, propriétés sont référencés à partir d'une valeur numérique... regarde dans la base de registre dans Key_Class_Root , la syntaxe utilisée !
Moi je préfère cette syntaxe .... c'est moins ésotérique !
For Each ctrl In ActiveSheet.OLEObjects If ctrl.progID Like "Forms.OptionButton.1" Then ctrl.Object.Value = False End If Next
Forms.OptionButton.1 correspond au paramètre "ClassType" de la méthode ADD de la colllection OleObjects
Pourquoi Forms dans l'appellation , parce que cette classe objet provient de la bibliothèque "Microsoft Forms 2.0 object librairy" qui s'est ajouté au classeur dès que l'on a ajouté un objet émanant de la boîte à outils "contrôle"
"JLuc" a écrit dans le message de news: Petit erratum :
If ctrl.ProgId Like "*OptionButton*" Then il faut lire "_ETOILE_OptionButton_ETOILE_"
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
e3ju2lLmHHA.3264@TK2MSFTNGP04.phx.gbl...
Et pourquoi le ".1" ?
Je ne suis pas certain... mais cela doit avoir quelque chose à voir
avec une propriété du contrôle ... et pourquoi pas la propriété
"Name" qui est toujours la première listée dans l'affichage
des propriétés d'un contrôle.
Dans la base de registre, les objets, méthodes, propriétés sont
référencés à partir d'une valeur numérique...
regarde dans la base de registre dans Key_Class_Root , la syntaxe utilisée !
"JLuc" <ns.jeanluc.laurent@free.fr.ns> a écrit dans le message de news:
mn.8cc47d755f1438a4.40692@free.fr.ns...
Merci de ces précisions.
Et pourquoi le ".1" ?
Moi je préfère cette syntaxe .... c'est moins ésotérique !
For Each ctrl In ActiveSheet.OLEObjects
If ctrl.progID Like "Forms.OptionButton.1" Then
ctrl.Object.Value = False
End If
Next
Forms.OptionButton.1 correspond au paramètre "ClassType"
de la méthode ADD de la colllection OleObjects
Pourquoi Forms dans l'appellation , parce que cette classe objet provient
de la bibliothèque "Microsoft Forms 2.0 object librairy" qui s'est
ajouté au classeur dès que l'on a ajouté un objet émanant de
la boîte à outils "contrôle"
"JLuc" <ns.jeanluc.laurent@free.fr.ns> a écrit dans le message de news:
mn.8c887d75af356d11.40692@free.fr.ns... Petit erratum :
If ctrl.ProgId Like "*OptionButton*" Then
il faut lire "_ETOILE_OptionButton_ETOILE_"
Je ne suis pas certain... mais cela doit avoir quelque chose à voir avec une propriété du contrôle ... et pourquoi pas la propriété "Name" qui est toujours la première listée dans l'affichage des propriétés d'un contrôle. Dans la base de registre, les objets, méthodes, propriétés sont référencés à partir d'une valeur numérique... regarde dans la base de registre dans Key_Class_Root , la syntaxe utilisée !
Moi je préfère cette syntaxe .... c'est moins ésotérique !
For Each ctrl In ActiveSheet.OLEObjects If ctrl.progID Like "Forms.OptionButton.1" Then ctrl.Object.Value = False End If Next
Forms.OptionButton.1 correspond au paramètre "ClassType" de la méthode ADD de la colllection OleObjects
Pourquoi Forms dans l'appellation , parce que cette classe objet provient de la bibliothèque "Microsoft Forms 2.0 object librairy" qui s'est ajouté au classeur dès que l'on a ajouté un objet émanant de la boîte à outils "contrôle"
"JLuc" a écrit dans le message de news: Petit erratum :
If ctrl.ProgId Like "*OptionButton*" Then il faut lire "_ETOILE_OptionButton_ETOILE_"