Macro EXCEL : Réinitialisation case d'options
Résolu
Peyo
-
Peyo -
Peyo -
A voir également:
- Case d'option excel indépendante
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Aller à la ligne dans une case excel - Guide
6 réponses
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+
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 !
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 !
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 ?