Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

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
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
223
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…