Rendre invisible puis visible un bouton de commande

  • Initiateur de la discussion Initiateur de la discussion chindou
  • Date de début Date de début

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 !

chindou

XLDnaute Occasionnel
Bonjour à toutes et à tous
J'ai une question: Peut-on rendre invisible puis visible un bouton de commande dans une feuille sous condition d’une cellule que son contenu sera affiché sur ce bouton ?
C’est-à-dire si la cellule est vide le bouton reste invisible et si cette cellule sera pleine le bouton deviendra visible et son nom c’est le contenu de cette cellule.
Est-ce possible ?

Merci d'avance pour vos idées
 
Re : Rendre invisible puis visible un bouton de commande

Bonjour à tous,

Peux-tu essayer avec ceci dans le code la feuille concernée :

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A2") <> "" Then
CommandButton1.Visible = True: CommandButton1.Caption = Range("A2")
Else
CommandButton1.Visible = False: CommandButton1.Caption = ""
End If
End Sub

A+ à tous
 

Pièces jointes

Re : Rendre invisible puis visible un bouton de commande

Bonsoir chindou, Jean-Claude, Jean-Marcel,

Comme le type de bouton n'est pas précisé, j'ai mis dans ma feuille un bouton "Formulaire" et un bouton "ActiveX".

Dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With [A1] 'référence de la cellule à adapter
'---bouton Formulaire---
Shapes("Bouton 1").TextFrame.Characters.Text = .Text
Shapes("Bouton 1").Visible = .Text <> ""
'---bouton ActiveX---
CommandButton1.Caption = .Text
CommandButton1.Visible = .Text <> ""
End With
End Sub
A+
 
Re : Rendre invisible puis visible un bouton de commande

Bonjour à tous,

Peux-tu essayer :

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Feuil2.Range("A2") <> "" Then
Feuil1.CommandButton1.Visible = True: Feuil1.CommandButton1.Caption = Feuil2.Range("A2")
Else
Feuil1.CommandButton1.Visible = False: Feuil1.CommandButton1.Caption = ""
End If
End Sub

A+ à tous
 
Re : Rendre invisible puis visible un bouton de commande

Bonjour le fil, le forum,

S'il y a 5 boutons "ActiveX" en Feuil1, placer dans le code de cette feuille :

Code:
Private Sub Worksheet_Activate()
'---boutons ActiveX---
Dim c As Range, n%
For Each c In Feuil2.[B2:B6] 'plage à adapter
  n = n + 1
  With OLEObjects("CommandButton" & n)
    .Object.Caption = c.Text
    .Visible = c.Text <> ""
  End With
Next
End Sub
Si ce sont des bouton "Formulaire" :

Code:
Private Sub Worksheet_Activate()
'---boutons Formulaire---
Dim c As Range, n%
For Each c In Feuil2.[B2:B6] 'plage à adapter
  n = n + 1
  With Shapes("Bouton " & n)
    .TextFrame.Characters.Text = c.Text
    .Visible = c.Text <> ""
  End With
Next
End Sub
Dans les 2 cas les noms des boutons se terminent par un numéro de 1 à 5.

A+
 
- 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

Discussions similaires

Réponses
3
Affichages
581
Réponses
14
Affichages
1 K
Retour