XL 2019 mise à zéro option button

Jacques25bis

XLDnaute Junior
Bonjour à tous,

Je voudrais améliorer un fichier avec 77 optionbuttons avec différents Groupname associés j'ai donc plusieurs demandes les concernant :

1 - Pour chaque groupe de 2 ou 3 optionbuttons j'incrémente une cellule en fonction de celui qui est sélectionné. Pour cela j'utilise :

Private Sub OptionButton1_Click()
Range("i7").Value = 0
End Sub
Private Sub OptionButton2_Click()
Range("i7").Value = 1
End Sub
Sachant qu'il n'y a pas que 0 ou 1 et que j'ai, comme dis plus haut, 2 ou 3 optionbutton par groupname, est-ce qu'il n'y a pas plus simple pour affecter une valeur à la cellule?

2 - Je souhaiterai par un bouton de réinitialisation, tous les remettre à 0, j'ai essayé différentes méthodes :

Dim objet As OptionButton
For Each objet In Sheets("Feuil1").OptionButtons
objet.Value = False
Next

Avec une boucle For Next (j'y croyais pas trop
For i = 1 To 54
OptionButton & i.Value = False
Next

Rien ne marche, est-ce que ça vient des groupnames? si oui comment faire?

Je vous joins un fichier très simplifié.
Merci d'avance pour l'aide que vous pourrez m'apporter.

Jack
 

Pièces jointes

  • essai optionbutton.xlsm
    185.1 KB · Affichages: 11

Jacques25bis

XLDnaute Junior
Bonjour Patrick,

Merci pour ta réponse, comment puis-je remettre mon fichier à l'initial alors?
En laissant un optionbutton validé j'ai peur qu'on oubli de prendre en compte une ligne, si tout est à zéro comme à l'ouverture de mon fichier au moins on voit si une ligne n'a pas été prise en compte.

Jack
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Jacques, Patrick,
Un essai en PJ à tester. Tous les OptionButtons sont réinitialisés avec :
VB:
Sub InitButtons()
    For Each ctrl In ActiveSheet.OLEObjects
        On Error Resume Next
        Set Opt = ctrl.Object
        Opt.Value = False
    Next ctrl
End Sub
 

Pièces jointes

  • essai optionbutton (1).xlsm
    188.8 KB · Affichages: 8

Laurent78

XLDnaute Occasionnel
Bonjour à Tous,
suite à juste remarque de Patrick :
ou bien faire comme Microsoft qui mélange un peu tout ....
1614420231579.png
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil

[Pour infos]
=>sylvanu
On peut s'affranchir d'une ligne ;)
VB:
Sub InitButtons_b()
Dim o As Object
For Each o In ActiveSheet.OLEObjects
On Error Resume Next
o.Object.Value = False
Next
End Sub
Tu me diras vu que j'ai ajouté une ligne de déclaration, ca fait du plus dans le moins. ;)

=>Laurent78
J'ai pas compris ta blague. ;)

NB: Décidément, j'ai pas de chance avec l'humour aujourd'hui ;)
 

Laurent78

XLDnaute Occasionnel
Bonjour le fil

[Pour infos]
=>sylvanu
On peut s'affranchir d'une ligne ;)
VB:
Sub InitButtons_b()
Dim o As Object
For Each o In ActiveSheet.OLEObjects
On Error Resume Next
o.Object.Value = False
Next
End Sub
Tu me diras vu que j'ai ajouté une ligne de déclaration, ca fait du plus dans le moins. ;)

=>Laurent78
J'ai pas compris ta blague. ;)

NB: Décidément, j'ai pas de chance avec l'humour aujourd'hui ;)
Normal que tu n'aies pas compris ma blague : cela n'en était pas une 😂🤣
Je ne faisais que compléter la remarque de Patrick.
Pour ceux, pas toi, qui ne connaissent pas bien :

Normalement, les boutons radio (Radio Button) , les petits ronds, permettent de sélectionner de un et un seul élément du groupe (donc, ni aucun, d'où la remarque Patrick, ni 2 ou 3 etc ...).

Normalement, les cases à cocher (Check Box), les petits carrés, permettent de sélectionner de aucun à n éléments du groupe.

Dans les options de mise en forme de police de caractères (Excel, word, etc..), Microsoft, mélange un peu tout, puisque qu'il est possible de sélectionner plusieurs éléments (Barré, Exposant, Indice) mais qu'il est interdit (logique) de sélectionner indice et exposant en même temps. Ils auraient dû par exemple, faire un groupe avec des Boutons-radio de type "Normal", "Indice", "Exposant", avec "Normal" de sélectionné par défaut, et une case à cocher indépendante pour "Barré"

Et donc, Microsoft ne me fait pas rire du tout !!!! 🤣🤣🤣🤣
@+
 

Discussions similaires

Réponses
3
Affichages
211

Statistiques des forums

Discussions
312 103
Messages
2 085 313
Membres
102 860
dernier inscrit
fredo67