Macro EXCEL : Réinitialisation case d'options
Résolu/Fermé
A voir également:
- Case d'option excel indépendante
- Liste déroulante excel - Guide
- Aller à la ligne dans une case excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Mise en forme conditionnelle excel - Guide
6 réponses
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
4 janv. 2012 à 20:39
4 janv. 2012 à 20:39
Bonjour tous,
Tu dis...il me faut maintenant remplacer tous mes contrôles de formulaires par des contrôles ActiveX (je n'en ai pas seulement 2, snif !)
Une solution pour remplacer tes optionB automatiquement.
Donne aussi la possibilité de tester tout les contrôles en 3 lignes de code.
La démo ajoute des boutons mais il est facile de remplacer par des OptionB dans le code.
D'accord, c'est compliquer, mais avec un peu de persévérance tu peu y arriver.
Maintenant, si tu à 20.. ou plus d'OptionB formulaire tu à la commande (malheureusement en deux fois, ça marche pas autrement)
Ou xlOn pour le cocher et bien sûr, entre les guillemets c'est chaque fois le nom du bouton.
Tu te vois copier ces 40.. lignes pour les initialiser et c'est pas tout, encore 40 lignes + Les If Then pour les tester ??
Quoi qu'il en soit, bon courage.
A+
Tu dis...il me faut maintenant remplacer tous mes contrôles de formulaires par des contrôles ActiveX (je n'en ai pas seulement 2, snif !)
Une solution pour remplacer tes optionB automatiquement.
Donne aussi la possibilité de tester tout les contrôles en 3 lignes de code.
La démo ajoute des boutons mais il est facile de remplacer par des OptionB dans le code.
D'accord, c'est compliquer, mais avec un peu de persévérance tu peu y arriver.
Maintenant, si tu à 20.. ou plus d'OptionB formulaire tu à la commande (malheureusement en deux fois, ça marche pas autrement)
ActiveSheet.Shapes("Option Button 1").Select Selection.Value = xlOff
Ou xlOn pour le cocher et bien sûr, entre les guillemets c'est chaque fois le nom du bouton.
Tu te vois copier ces 40.. lignes pour les initialiser et c'est pas tout, encore 40 lignes + Les If Then pour les tester ??
Quoi qu'il en soit, bon courage.
A+
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
Modifié par ccm81 le 4/01/2012 à 17:23
Modifié par ccm81 le 4/01/2012 à 17:23
bonjour
utilises plutôt les contrôles activeX (afficher/boite à outils contrôles) qui sont plus commodes à manipuler.
le petit triangle bleu est une bascule mode création/mode exécution
le code suivant devrait alors fonctionner
Sub Reinitialisation_case_option()
Sheets(1).OptionButton1.Value = False
Sheets(1).OptionButton2.Value = True
End Sub
bonne suite
utilises plutôt les contrôles activeX (afficher/boite à outils contrôles) qui sont plus commodes à manipuler.
le petit triangle bleu est une bascule mode création/mode exécution
le code suivant devrait alors fonctionner
Sub Reinitialisation_case_option()
Sheets(1).OptionButton1.Value = False
Sheets(1).OptionButton2.Value = True
End Sub
bonne suite
Merci beaucoup pour la réponse ccm81 !
Le problème avec ta solution est qu'il me faut maintenant remplacer tous mes contrôles de formulaires par des contrôles ActiveX (je n'en ai pas seulement 2, snif !) ... Quelqu'un aurait-il une autre idée ?
Par ailleurs, dans les propriétés des cases d'options ActiveX, j'ai un souci avec le fond "Backcolor" : comment le rendre soit transparent (comme le Backstyle), soit lui donner la couleur que je veux (qui n'est évidemment pas dans la palette proposée ...) ?
Merci beaucoup d'avance !
Le problème avec ta solution est qu'il me faut maintenant remplacer tous mes contrôles de formulaires par des contrôles ActiveX (je n'en ai pas seulement 2, snif !) ... Quelqu'un aurait-il une autre idée ?
Par ailleurs, dans les propriétés des cases d'options ActiveX, j'ai un souci avec le fond "Backcolor" : comment le rendre soit transparent (comme le Backstyle), soit lui donner la couleur que je veux (qui n'est évidemment pas dans la palette proposée ...) ?
Merci beaucoup d'avance !
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
643
Modifié par pilas31 le 4/01/2012 à 18:48
Modifié par pilas31 le 4/01/2012 à 18:48
Bonjour,
Je ne sais pas si j'ai bien compris le problème mais il me semble qu'il suffit d'écrire cela dans le code associé au bouton :
sachant que OptionButton1 et OptionButton2 sont les noms des cases options du formulaire et Reinitialisation_case_option le nom du bouton
A+
Cordialement,
Je ne sais pas si j'ai bien compris le problème mais il me semble qu'il suffit d'écrire cela dans le code associé au bouton :
Private Sub Reinitialisation_case_option_Click() OptionButton1.Value = False OptionButton2.Value = True End Sub
sachant que OptionButton1 et OptionButton2 sont les noms des cases options du formulaire et Reinitialisation_case_option le nom du bouton
A+
Cordialement,
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci beaucoup pour la réponse pilas31 !
Alors, il est probable que je dise de grosses bêtises (je découvre tout juste le VBA), mais ton code ne fonctionne-t-il pas que pour des contrôles ActiveX ?
Je demande car à priori cela ne fonctionne pas avec mes contrôles de formulaires alors que ça fonctionne si j'essaye avec des contrôles ActiveX.
Si ce n'est pas le cas, comment puis-je connaître le nom de mes cases d'options et de mon bouton ?
Merci beaucoup !
Alors, il est probable que je dise de grosses bêtises (je découvre tout juste le VBA), mais ton code ne fonctionne-t-il pas que pour des contrôles ActiveX ?
Je demande car à priori cela ne fonctionne pas avec mes contrôles de formulaires alors que ça fonctionne si j'essaye avec des contrôles ActiveX.
Si ce n'est pas le cas, comment puis-je connaître le nom de mes cases d'options et de mon bouton ?
Merci beaucoup !
Merci beaucoup pour ta réponse lermite222 !
En fin de compte, j'ai opté pour des boutons et cases d'options en contrôle ActiveX, je ne referai plus "l'erreur" !
Du coup, par coquetterie, j'en reviens à une de mes questions préalables : dans les propriétés des cases d'options ActiveX, j'ai un souci avec le fond "Backcolor" : comment le rendre soit transparent (comme le Backstyle), soit lui donner la couleur que je veux (qui n'est évidemment pas dans la palette proposée ...) ?
Merci d'avance pour votre aide !
En fin de compte, j'ai opté pour des boutons et cases d'options en contrôle ActiveX, je ne referai plus "l'erreur" !
Du coup, par coquetterie, j'en reviens à une de mes questions préalables : dans les propriétés des cases d'options ActiveX, j'ai un souci avec le fond "Backcolor" : comment le rendre soit transparent (comme le Backstyle), soit lui donner la couleur que je veux (qui n'est évidemment pas dans la palette proposée ...) ?
Merci d'avance pour votre aide !
4 janv. 2012 à 20:49
Pour connaitre le nom du contrôle.
Clic droit sur le contrôle >> Format de contrôle >> dans la fenêtre qui s'ouvre >> Web
Et tu a le nom du contrôle.
Mais tu est conscient qu'il n'y aura jamais qu'un seul Option qui serra sélectionner ?
Quand tu clic sur l'un, l'autre se met à zéro..
Tu est sûr que ce sont des Option et pas des CheckBox ?