Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Autres(RESOLU)Masquer / Afficher des boutons par clic
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Bonjour Forum
Mon souci est :
quand je clic sur le bouton "Effacer" alors afficher le bouton "Valider" et masquer le bouton "Effacer" et vis versa.
Merci
Re,
Ou avec un seul bouton.
Permet d'avoir deux macros distinctes pour traiter les actions Valider et Effacer, avec :
VB:
Sub Appui_Bouton()
Nom = Application.Caller
With ActiveSheet.Shapes(Nom)
If .TextFrame.Characters.Text = "Valider" Then
.Fill.ForeColor.RGB = RGB(110, 170, 70)
.TextFrame.Characters.Text = "Effacer"
Macro_Valider
Else
.Fill.ForeColor.RGB = RGB(240, 120, 50)
.TextFrame.Characters.Text = "Valider"
Macro_Effacer
End If
End With
End Sub
Bonjour Chaelie,
Une solution simple parmi d'autres :
VB:
Sub ONOFF_Effacer()
ActiveSheet.Shapes("Groupe 1").Visible = False
ActiveSheet.Shapes("Groupe 5").Visible = True
End Sub
Sub ONOFF_Valider()
ActiveSheet.Shapes("Groupe 1").Visible = True
ActiveSheet.Shapes("Groupe 5").Visible = False
End Sub
Re,
Ou avec un seul bouton.
Permet d'avoir deux macros distinctes pour traiter les actions Valider et Effacer, avec :
VB:
Sub Appui_Bouton()
Nom = Application.Caller
With ActiveSheet.Shapes(Nom)
If .TextFrame.Characters.Text = "Valider" Then
.Fill.ForeColor.RGB = RGB(110, 170, 70)
.TextFrame.Characters.Text = "Effacer"
Macro_Valider
Else
.Fill.ForeColor.RGB = RGB(240, 120, 50)
.TextFrame.Characters.Text = "Valider"
Macro_Effacer
End If
End With
End Sub
Tant qu'on y est, je propose un mélange de #2 et #4 en pièce jointe. 😉
Le classeur de #5 de sylvanu me semble parfait.
Ceci dit, je viens de constater un truc bizarre chez moi, et vu que je ne sais pas comment on crée un joli bouton comme tu as fait avec le rond et le texte, du coup je ne sais pas si ce comportement est normal ou pas : quand je clique sur le rond, j'ai la première lettre qui apparait dans le rond et l'intérieur du rond qui change de couleur.
Ceci dit, je viens de constater un truc bizarre chez moi, et vu que je ne sais pas comment on crée un joli bouton comme tu as fait avec le rond et le texte, du coup je ne sais pas si ce comportement est normal ou pas : quand je clique sur le rond, j'ai la première lettre qui apparait dans le rond et l'intérieur du rond qui change de couleur.
Du au fait qua application.caller renvoie le nom du shape et non le nom du groupe.
Donc obligé de référencer en dur le nom du shape, ce que je voulais éviter. 🙄
VB:
Sub Appui_Bouton()
NomRectangle = "Rectangle à coins arrondis 2"
With ActiveSheet.Shapes(NomRectangle)
If .TextFrame.Characters.Text = "Valider" Then
.Fill.ForeColor.RGB = RGB(110, 170, 70)
.TextFrame.Characters.Text = "Effacer"
Macro_Valider
Else
.Fill.ForeColor.RGB = RGB(240, 120, 50)
.TextFrame.Characters.Text = "Valider"
Macro_Effacer
End If
End With
End Sub
Application.caller renvoie le nom de l'objet sur lequel on a cliqué.
Le "dessin" de Chaelie est construit par deux shapes: un rectangle et un rond. Les deux groupés dans "Groupe15"
Moi, naïvement, je pensais que Application.caller me renverrais "Groupe15".
Que nenni, il renvoie soit "Rectangle..." ou "Ellipse..." donc je ne traitais que le shape donné par application.caller.
Donc si on cliqué sur le rond, j'exécutais la macro sur le rond, et non sur le rectangle.
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD