Note: The other languages of the website are Google-translated. Back to English

Comment masquer ou afficher un bouton de commande en fonction de la valeur de cellule spécifiée dans Excel?

Supposons que vous utilisez un bouton de commande pour déclencher un script VBA dans votre feuille de calcul. Lorsque le script VBA n'est pas utilisé dans certains cas, vous devez masquer le bouton de commande au lieu de l'afficher dans la feuille de calcul. Et affichez-le à nouveau lorsque le script VBA est nécessaire. Cet article parle de masquer ou d'afficher un bouton de commande en fonction d'une valeur de cellule spécifiée dans Excel. Veuillez faire comme suit.

Masquer ou afficher un bouton de commande en fonction de la valeur de cellule spécifiée avec le code VBA


Masquer ou afficher un bouton de commande en fonction de la valeur de cellule spécifiée avec le code VBA


Vous pouvez exécuter le code VBA ci-dessous pour masquer ou afficher un bouton de commande en fonction de la valeur de cellule spécifiée dans Excel.

1. Cliquez avec le bouton droit de la souris sur l'onglet de la feuille contenant le bouton de commande que vous devez afficher, puis cliquez sur Voir le code dans le menu contextuel.

2. Dans le pop-up Microsoft Visual Basic pour applications fenêtre, copiez et collez le code VBA ci-dessous dans le Code fenêtre.

Code VBA: masquer ou afficher un bouton de commande en fonction de la valeur de cellule spécifiée

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    If Cells(1, 1).Value <> "1" Then
        Me.CommandButton1.Visible = True
    Else
        Me.CommandButton1.Visible = False
    End If
    Application.ScreenUpdating = True
End Sub

Notes: dans le code, Cellules (1, 1), 1 et un Bouton de commande1 indiquent que le CommandButton1 sera masqué lorsque la cellule A1 contient le numéro 1 et affiché si la cellule A1 contient toutes les autres valeurs sauf le numéro 1. Voir la capture d'écran ci-dessous. Et vous pouvez les modifier en fonction de vos besoins.


Articles connexes:


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Commentaires (11)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
hola que tal, tengo un boton con macro, que me devuelve a una hoja 'menu', pero no quiero que ese boton aparezca en la hoja menu como le puedo hacer?'


À votre santé.-
Ce commentaire a été minimisé par le modérateur sur le site
Hola Sebastia,

Dónde debería mostrarse ?
- Uno es la hoja de menú
- El botón está integrado en una hoja diferente, non ?
Ce commentaire a été minimisé par le modérateur sur le site
J'ai mis ce code et entré le nom de mon bouton (Terminer), référencé la cellule de référence (P11 - 16, 11) mais chaque fois que j'apporte une modification à la cellule de référence (P11), j'obtiens une erreur de compilation et cela met en évidence le La section ".Finish" du code, ce qui signifie apparemment que le nom du bouton que j'ai entré "Finish" ne se trouve pas sur la feuille de calcul. J'ai confirmé, à la fois dans la zone déroulante à gauche de la barre de formule et dans la zone "définir le nom" de l'onglet Formule que le nom de mon bouton est, en fait, "Terminer", mais cela ne fonctionne toujours pas.


De l'aide?
Ce commentaire a été minimisé par le modérateur sur le site
Salut Brice,
J'ai changé le nom du bouton en "Terminer" dans ma feuille de calcul, et cela fonctionne bien sans qu'aucune erreur ne s'affiche.
Cela vous dérange-t-il de tester le code dans un nouveau classeur vierge ?
Merci pour votre commentaire.
Ce commentaire a été minimisé par le modérateur sur le site
Utilisez le bouton de contrôle ActiveX.
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour

Je suis nouveau sur VBA, j'ai mis ce code dans un nouvel Excel. Un CommnadButton, sur Sheet1 mais le code ne fonctionne pas.

Dois-je faire quelque chose avant cela ?


Merci d'avance
Ce commentaire a été minimisé par le modérateur sur le site
Private Sub Worksheet_Change (Cible ByVal en tant que plage)
Application.ScreenUpdating = Faux
Si Cellules(1, 1).Valeur <> "1" Alors
Moi.Formes("Bouton 1").Visible = Vrai
autre
Moi.Formes("Bouton 1") Fin Si
Application.ScreenUpdating = True
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Pour une raison quelconque, après que le bouton soit passé d'invisible à visible, le bouton ne fonctionne plus. Si je alt + F11 dans le code, sélectionnez le sous-titre XXX() et exécutez avec F5, le code fonctionne pour ma macro. Pourquoi ça ne marche plus quand je clique sur le bouton ? dans les propriétés 'Enabled' est défini sur true
Ce commentaire a été minimisé par le modérateur sur le site
Hola, el codigo est bien ? es que no me funciona y ya intentione varias cosas para que funcione y nana, ayuda por favor es que lo necesito para algo important :c
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour!
Alguien sabe como puedo hacer para que el boton comando aparezca o desaparezca segun información de otra hoja ?
El ejemplo está muy bueno, pero las celdas son de la misma hoja donde esta el boton. Yo necesito ocultar un boton segun info de otra hoja.

Merci!
Ce commentaire a été minimisé par le modérateur sur le site
Hi,
Supposons que la valeur utilisée pour afficher ou masquer le bouton de commande se trouve dans A1 of Sheet1, et le bouton comman se situe dans Sheet2. Veuillez ouvrir la feuille Sheet1, cliquez avec le bouton droit sur l'onglet de la feuille et cliquez sur Voir le code. Dans l'ouverture Microsoft Visual Basic pour applications fenêtre, copiez le code VBA suivant dans la fenêtre Sheet1 (Code), puis appuyez sur la touche autre + F11 clés pour le fermer.
Notes: Veuillez changer de cellule(1, 1), "1" et "Sheet2" Comme vous le souhaitez.
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    If Cells(1, 1).Value <> "1" Then
        Sheets("Sheet2").CommandButton1.Visible = True
    Else
        Sheets("Sheet2").CommandButton1.Visible = False
    End If
    Application.ScreenUpdating = True
End Sub
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés