Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Désélectionner Bouton radio ouverture classeur

12 réponses
Avatar
titou
Bonjour,

Je voudrais savoir comment faire pour:

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 ?

Merci d'avance

Titou

10 réponses

1 2
Avatar
isabelle
bonjour titou,

essaie avec,

ActiveSheet.Controls

isabelle


Bonjour,

Je voudrais savoir comment faire pour:

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 ?

Merci d'avance

Titou


Avatar
titou
re,

je vais essayer ça demain je peux pas faire autrement.

Sinon aurai tu une idée pour ma 2ème question ?

Merci.

Titou

bonjour titou,

essaie avec,

ActiveSheet.Controls

isabelle


Bonjour,

Je voudrais savoir comment faire pour:

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 ?

Merci d'avance

Titou





Avatar
isabelle
bonjour titou,

Private Sub CommandButton1_Click()
For i = 1 To ActiveSheet.OLEObjects.Count
On Error Resume Next
ActiveSheet.OLEObjects("OptionButton" & i).Object.Value = False
Next
End Sub

Private Sub OptionButton1_Click()
MsgBox Sheets("Feuil2").OptionButton1
End Sub

il y a aussi,

Private Sub OptionButton1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
MsgBox "Événement MouseUp"
End Sub

isasbelle


re,

je vais essayer ça demain je peux pas faire autrement.

Sinon aurai tu une idée pour ma 2ème question ?

Merci.

Titou


bonjour titou,

essaie avec,

ActiveSheet.Controls

isabelle



Bonjour,

Je voudrais savoir comment faire pour:

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 ?

Merci d'avance

Titou







Avatar
JLuc
*Bonjour titou*,

Bonjour,

Je voudrais savoir comment faire pour:

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
A ta place, j'utiliserais plutôt ceci :


For Each ctrl In ActiveSheet.OLEObjects
If ctrl.ProgId Like "*OptionButton*" Then
ctrl.Object.Value = False
End If
Next
Cà a l'avantage que tu peux changer le nom du contrôle sans affecter ta
macro. Il est plus facile de travailler avec des objets dont le nom
veux dire quelque chose plutôt que des Option1, Option2, ...



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 ?

Merci d'avance

Titou


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
JLuc
Petit erratum :
If ctrl.ProgId Like "*OptionButton*" Then
il faut lire "_ETOILE_OptionButton_ETOILE_"


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
MichDenis
Il y a aussi ceci: sans égard au nom des contrôles :

'-----------------------
Sub test()
For Each c In ActiveSheet.OLEObjects
If TypeName(c.Object) = "OptionButton" Then
c.Object.Value = False
End If
Next
End Sub
'-----------------------


"JLuc" a écrit dans le message de news:

*Bonjour titou*,

Bonjour,

Je voudrais savoir comment faire pour:

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
A ta place, j'utiliserais plutôt ceci :


For Each ctrl In ActiveSheet.OLEObjects
If ctrl.ProgId Like "*OptionButton*" Then
ctrl.Object.Value = False
End If
Next
Cà a l'avantage que tu peux changer le nom du contrôle sans affecter ta
macro. Il est plus facile de travailler avec des objets dont le nom
veux dire quelque chose plutôt que des Option1, Option2, ...



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 ?

Merci d'avance

Titou


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
JLuc
*Bonjour MichDenis*,
Merci, j'ai cherché cette syntaxe sans pouvoir la trouver :-(

Il y a aussi ceci: sans égard au nom des contrôles :

'-----------------------
Sub test()
For Each c In ActiveSheet.OLEObjects
If TypeName(c.Object) = "OptionButton" Then
c.Object.Value = False
End If
Next
End Sub
'-----------------------


"JLuc" a écrit dans le message de news:

*Bonjour titou*,

Bonjour,

Je voudrais savoir comment faire pour:

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
A ta place, j'utiliserais plutôt ceci :


For Each ctrl In ActiveSheet.OLEObjects
If ctrl.ProgId Like "*OptionButton*" Then
ctrl.Object.Value = False
End If
Next
Cà a l'avantage que tu peux changer le nom du contrôle sans affecter ta
macro. Il est plus facile de travailler avec des objets dont le nom
veux dire quelque chose plutôt que des Option1, Option2, ...



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 ?

Merci d'avance

Titou



--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O


Avatar
JLuc
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" a écrit dans le message de news:
Petit erratum :
If ctrl.ProgId Like "*OptionButton*" Then
il faut lire "_ETOILE_OptionButton_ETOILE_"



--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O


Avatar
JB
Bonjour,

S'il y a plusieurs groupes d'options, raz d'un groupe seulement:

Sub RazGroupe1()
For Each c In ActiveSheet.OLEObjects
If c.Object.GroupName = "Groupe1" Then c.Object.Value = False
Next c
End Sub

JB

On 17 mai, 17:31, titou wrote:
Bonjour,

Je voudrais savoir comment faire pour:

1) déselectionner tout les boutons options, à l'ouverture de mon clas seur.
Mes bouton radio viennent de la B.O contrôle

J'utilise la macro suivante pour chacun de mes boutons radio que je met d ans
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.Commen t faire
pour éxecuter la macro associée à ce bouton lorsque l'on reclic des sus ?

Merci d'avance

Titou


Avatar
MichDenis
| 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 !

Forms.Forms.OptionButton.1
Bibliothèque.NomDeLaClasseObject.PropriétéDeCetteClasse








"JLuc" a écrit dans le message de news:

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" a écrit dans le message de news:
Petit erratum :
If ctrl.ProgId Like "*OptionButton*" Then
il faut lire "_ETOILE_OptionButton_ETOILE_"



--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O


1 2