KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Comment activer ou désactiver un bouton en fonction de la valeur d’une cellule dans Excel ?

AuteurXiaoyang Date de modification

Dans cet article, je vous présente plusieurs méthodes pour activer ou désactiver un bouton en fonction de la valeur d’une cellule dans une feuille Excel.

Activer ou désactiver deux boutons en fonction des données de deux colonnes à l’aide d’un code VBA

Activer ou désactiver un bouton en fonction des valeurs de deux cellules à l’aide d’un code VBA


Activer ou désactiver deux boutons en fonction des données de deux colonnes à l’aide d’un code VBA

Par exemple, j’ai deux boutons de commande dans une feuille de calcul : si la colonne A contient des données, le bouton1 est activé et le bouton 2 est désactivé ; si la colonne C contient des données, le bouton 2 est activé et le bouton 1 est désactivé. Pour résoudre cette tâche, le code VBA suivant peut vous aider.

1. Cliquez avec le bouton droit sur la feuille contenant les boutons, puis choisissez Afficher le code dans le menu contextuel, comme illustré ci-dessous :

une capture d’écran de l’ouverture de l’éditeur de code VBA dans Excel

2. Dans la fenêtre Microsoft Visual Basic pour Applications, copiez et collez le code ci-dessous dans le module vierge :

Code VBA : Activer ou désactiver deux boutons en fonction de deux colonnes :

Private Sub Worksheet_Change(ByVal Target As Range)
    CommandButton1.Enabled = False
    CommandButton2.Enabled = False
    If Application.WorksheetFunction.CountA(Range("C:C")) > 0 Then
        CommandButton2.Enabled = True
    End If
    If Application.WorksheetFunction.CountA(Range("A:A")) > 0 Then
        CommandButton1.Enabled = True
    End If
End Sub

une capture d’écran montrant comment utiliser le code VBA pour désactiver deux boutons

Remarque : Dans le code ci-dessus, CommandButton1 et CommandButton2 sont les noms des boutons, tandis que A:A et C:C correspondent aux deux colonnes utilisées pour activer ou désactiver ces boutons. Adaptez-les selon vos besoins.

3. Fermez ensuite la fenêtre du code, puis sauvegardez et fermez. Vous obtiendrez désormais le résultat souhaité :

(1.) Si vous saisissez des données dans la colonne A, le bouton 1 est activé et le bouton 2 est désactivé, comme illustré ci-dessous :

une capture d’écran montrant qu’un bouton peut être utilisé et qu’un autre est désactivé en fonction de la valeur dans la colonne A

(2.) Si vous saisissez des données dans la colonne C, le bouton 2 est activé et le bouton 1 est désactivé, comme illustré ci-dessous :

une capture d’écran montrant qu’un bouton peut être utilisé et qu’un autre est désactivé en fonction de la valeur dans la colonne C

(3.) Lorsque les colonnes A et C contiennent toutes deux des données, les deux boutons sont activés, comme illustré ci-dessous :

une capture d’écran montrant que les deux boutons peuvent être utilisés lorsque les colonnes A et C contiennent des données

(4.) Les deux boutons sont désactivés s’il n’y a aucune donnée dans les colonnes A et C, comme illustré ci-dessous :

une capture d’écran montrant que les deux boutons sont désactivés lorsqu’il n’y a aucune donnée dans les colonnes A et C


Activer ou désactiver un bouton en fonction des valeurs de deux cellules à l’aide d’un code VBA

Si vous souhaitez activer ou désactiver un bouton de commande en fonction des valeurs de deux cellules — par exemple, le bouton s’active lorsque la valeur en A1 est supérieure à celle en B1, et se désactive dans le cas contraire — le code VBA suivant pourrait également vous être utile.

1. Cliquez avec le bouton droit sur la feuille contenant le bouton, puis choisissez Afficher le code dans le menu contextuel. Dans la fenêtre Microsoft Visual Basic pour Applications, copiez et collez le code ci-dessous dans le module vierge, comme illustré ci-dessous :

Code VBA : Activer ou désactiver un bouton en fonction des valeurs de deux cellules :

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim TargetAdd As String
    Dim xTemp As Double
    On Error GoTo ExitSub
    TargetAdd = Target.Address
    CommandButton1.Enabled = False
    If (TargetAdd = Range("A1").Address) Or (TargetAdd = Range("B1").Address) Then
        If Range("A1") > Range("B1") Then
            CommandButton1.Enabled = True
        End If
    End If
ExitSub:
End Sub

une capture d’écran montrant comment utiliser le code VBA pour activer ou désactiver un bouton

Remarque : Dans le code ci-dessus, A1 et B1 sont les cellules utilisées, et CommanButton1 est le nom du bouton. Adaptez-les selon vos besoins.

2. Fermez ensuite la fenêtre du code et sauvegardez. Désormais, si la valeur de la cellule A1 est supérieure à celle de B1, le bouton est activé ; sinon, s’il est inférieur, il est désactivé, comme illustré ci-dessous :

une capture d’écran montrant les différents états d’un bouton en fonction de la valeur d’une cellule


Meilleurs outils de productivité Office

🤖Kutools IA Aide: Révolutionnez Analyse des données grâce à :Exécution intelligente   |  Générez du code|  Créez formules personnalisées  |  Analysez des données et générez des graphiques|  Appelez Fonctions améliorées
Fonctionnalités populaires:Rechercher, mettre en surbrillance ou Marquer les doublons   |  Supprimer les lignes vides   |  Combinez les colonnes ou cellules sans perdre de données   |   Arrondi sans utiliser de formule...
Super RECHERCHEV:RechercheValeurs avec critères multiples  |  RechercheValeurs avec valeurs multiples  |   RechercheValeurs dans plusieurs feuilles   |   Correspondance floue....
Liste déroulante avancée:Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple....
Gestionnaire de colonnes:Ajouter un nombre précis de colonnes|Déplacer des colonnes|Basculer la visibilité des colonnes masquées|Comparer des plages et des colonnes...
Fonctionnalités vedettes:Mise au point de la grille   |  Vue de conception   |Barre de formule améliorée   | Gestionnaire de classeurs et de feuilles   |  Bibliothèque de ressources(Texte automatique)|  Sélecteur de date   |  Consolider les feuilles de calcul  |  Chiffrer/Déchiffrer les cellules   | Envoyer des e-mails par liste   |  Super Filtre   |   Filtre spécial(Filtrer les cellules avec une police en gras/italique/barré...) ...
… et bien plus encore… et plus encore:(,)Supprimer des caractères spécifiques, ...)|   50+Typesde graphiques(, ...)|   40+ Formules pratiques(Calculer l'âge en fonction de la date de naissance, ...)|   19 Outils d’insertion(,Insérer une image depuis un chemin , ...)|   de conversion (Convertir en mots,Conversion de devises, ...)|Fusionner et scinder   (Fusion avancée des lignes,Diviser les cellules , ...)|, ...)   |
Utilisez Kutools dans la langue de votre choix – disponible en anglais, espagnol, allemand, français, chinois et 40+ autres langues !

Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile

  • Activez 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 vous fait économiser des centaines de clics de souris chaque jour !

Tous les compléments Kutools. Un seul installateur

Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.

ExcelWordOutlookTabsPowerPoint
  • Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
  • Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
  • Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
  • Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
  • Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels