Multipage et désactivation d'OptionButton
Bonjour à tous,
Je suis en train de changer ma macro (pour qu'elle soit plus jolie), et je ne pensais pas que ça serait aussi complexe d'avoir à rajouter un multipage sur une liste d'optionbutton dans une frame. Ça fait bien une journée que je suis en train de chercher mais rien n'y fait je ne trouve pas quelque chose qui convienne, et je ne trouve pas non plus de solution via mes divers tests, donc me voilà ;p
Quand il n'y avait qu'une frame, chaque bouton désactivait le précédemment sélectionné, mais plus dans un multipage.
En fait, j'ai trois pages dans un multipage qui contiennent tous plus ou moins des optionbutton, sauf que pour les désactiver, pour le moment j'ai mis dans chaque bouton le code suivant (ou similaire), pour désactive tous les autres boutons, sauf celui qui est cliqué.
Private Sub OptionButton11_Click()
OptionButton10.Value = False
OptionButton12.Value = False
OptionButton13.Value = False
OptionButton14.Value = False
OptionButton15.Value = False
OptionButton16.Value = False
OptionButton17.Value = False
End Sub
J'ai essayé de mettre le numéro de bouton en paramètre mais l’interpréteur ne veut pas. Au niveau bouton.Value = False et buttonName.Value = False, qu'il affiche une erreur.
Private Sub OptionButton10_Click()
Reset_Click (10)
Reset_Click_v2 (OptionButton10.Name)
End Sub
Private Sub Reset_Click(buttonNumber)
i = 10
While i <> buttonNumber And i <= 17
bouton = "OptionButton" & buttonNumber
MsgBox bouton
bouton.Value = False
i = i + 1
Wend
' OptionButton11.Value = False
' OptionButton12.Value = False
'
End Sub
Private Sub Reset_Click_v2(buttonName)
For i = 10 To 17
If i <> Right(buttonName, 2) Then
buttonName.Value = False
End If
Next i
End
Bonjour,
Je viens de tester ton formulaire. Après avoir mis tout le code en commentaire, les boutons se comportent comme ils doivent c'est à dire que quand j'en sélectionne un le précédent est désélectionné !
Je pense que toutes tes manip ont dues contrarier Excel. Peut être faire une copie du classeur dans l'explorateur et tester sur la copie ?
Hervé.
Bonjour
Comme l'a signalé Theze, il n'est pas utile de réinitialiser les OptionButtons quand tu en sélectionnes un autre.
Mais en pièce jointe, j'indique une façon possible de procéder
Cordialement
> Theze (Hervé)
Je vais essayé de faire ça, mais a priori ça ne devrait pas, les pages du multipages sont comme des frames indépendantes, c'est à dire que si je fais une frame avec des optionButton, la sélection de l'un va désélectionner l'autre, parce qu'en théorie il ne peut en rester qu'un ... de sélectionner, les pages fonctionnent de la même façon
> Dixit
J ai essayé ta version du xlsm ça fonctionne, j'ai entraperçu ton code, mais je vais l'analyser plus tard.
Merci pour vos réponses !
Je ne mets pas encore le thread en résolu, je suis curieux de discuter encore un petit peu sur le sujet.
Je viens de tester, j'ai fait une copie de mon PERSONAL.XLSB, oui je travail sur ce fichier pour que la macro soit disponible pour n'importe quel fichier, j'ai mis tout mon code en commentaire, j'ai ajouter un module pour UserForm1.show, mais ça a le même comportement que je décris dans mon premier post.
Je suis sous Excel 2013, est-ce un nouveau comportement par rapport aux anciennes versions ? En même temps je trouve ça logique comme comportement, les pages sont, selon moi, considérées comme des frames distincts donc pas de désélection "automatique".
Je suis curieux, vous de votre côté si vous sélectionnez un optionbutton de la page 1 (printscreen1), puis un autre dans la page 2 (printscreen2), le premier se désélectionne ? Parce que moi non.
Bonjour
Une autre façon de voir une solution
Bonjour,
Je suis curieux, vous de votre côté si vous sélectionnez un optionbutton de la page 1 (printscreen1), puis un autre dans la page 2 (printscreen2), le premier se désélectionne ? Parce que moi non.
Quand je disais que chez moi ça marche, c'est de ce comportement que je parlait qui est le comportement normal ! Si tes boutons d'option sont sur des pages différentes, c'est tout à fait logique que le clic sur l'un d'une page ne dé-sélectionne pas l'autre d'une autre page pour la bonne raison que l'utilisateur, une fois qu'il a fait son choix sur une page, ne conçois pas qu'il soit modifié en faisant un choix sur une autre page !!! Les boutons qui se contredisent doivent être sur la même page.
Hervé.
Theze a écrit :Bonjour,
Je suis curieux, vous de votre côté si vous sélectionnez un optionbutton de la page 1 (printscreen1), puis un autre dans la page 2 (printscreen2), le premier se désélectionne ? Parce que moi non.
Quand je disais que chez moi ça marche, c'est de ce comportement que je parlait qui est le comportement normal ! Si tes boutons d'option sont sur des pages différentes, c'est tout à fait logique que le clic sur l'un d'une page ne dé-sélectionne pas l'autre d'une autre page pour la bonne raison que l'utilisateur, une fois qu'il a fait son choix sur une page, ne conçois pas qu'il soit modifié en faisant un choix sur une autre page !!! Les boutons qui se contredisent doivent être sur la même page.
Hervé.
Ok, le multipage pourrait servir, je devrais dire, sert pour de multiples choix, j'ai donc un peu détourner le concept. Je le voyais plutôt comme un menu pour épurer une longue liste, si on prend mes options qui étaient dans une frame unique, il y a 8 choix, j'avais surtout l'impression de m'y perdre d'où le fait que je les sépare, mais au bout du compte un seul choix n'est possible, je ne veux et ne peux pas lancer plusieurs macros en même temps. La désélection c'est plus pour un garde-fou, je devrais être le seul à me servir de ses macros, et effectivement rentrer dans le cadre que tu décris, mais si quelqu'un prend ma suite, je préfère penser large, et sécuritaire pour un user lambda.
Je ferme ce thread, merci Theze pour la précision, et je vais m'informer plus sur les multipages. Et merci Banzai64 et Dixit pour vos réponses.
Toujours dans mon optique de la multipage détourné.
Dixit, quand tu dis que c'est inutile niveau OptionButton10_Click, c'est parce que le code du MultiPage_change va resetter les OptionButtons, et que les OptionButtons d'une même page vont avoir le comportement identique à une même frame, soit se désélectionner si il y a une autre sélection dans la même page ?
Private Sub OptionButton10_Click()
Reset_Click_v2 (OptionButton10.Name) ' Normalement inutile
End Sub
Private Sub MultiPage_change()
Reset_Click_v2
End Sub