Accéder au contenu principal

Kutools for Office — Une Suite. Cinq Outils. Accomplissez Plus.

Comment décocher une autre case à cocher lorsqu'une case à cocher est cochée dans Excel ?

Author Siluvia Last modified

Dans de nombreux scénarios pratiques, comme la gestion d'une longue liste d'achats dans Excel, vous pouvez rencontrer des situations où vous souhaitez vous assurer qu'une seule option peut être sélectionnée dans une catégorie ou un groupe spécifique. Par exemple, si certaines catégories dépassent le budget fixé, vous devrez peut-être re-sélectionner des éléments afin qu'une seule case reste cochée dans chaque groupe. Gérer manuellement les cases à cocher dans de grandes listes peut être inefficace et sujet aux erreurs, surtout lorsque le nombre de catégories augmente. Pour rationaliser ce processus et réduire les erreurs, vous pouvez configurer Excel de manière à ce que le fait de cocher une nouvelle case dans un groupe décoche automatiquement celle qui était précédemment sélectionnée, garantissant ainsi une seule sélection par catégorie à tout moment. Cet article fournit un guide étape par étape pour y parvenir, rendant votre flux de travail plus efficace et fiable.


Décochez une autre case à cocher lorsqu'une nouvelle case est cochée avec un code VBA

Pour illustrer le processus, considérons une situation comme celle montrée dans la vidéo ci-dessus. Vous avez dix cases à cocher étiquetées CheckBox1 à CheckBox10, organisées en trois groupes représentant différentes catégories d'achats.

✅ Structure des groupes :

  • Groupe 1 : CheckBox1, CheckBox2, CheckBox3
  • Groupe 2 : CheckBox4, CheckBox5, CheckBox6, CheckBox7
  • Groupe 3 : CheckBox8, CheckBox9, CheckBox10

Dans chaque groupe, une seule case à cocher doit être sélectionnée à la fois. Lorsqu'une nouvelle case est cochée, les autres du même groupe sont automatiquement décochées — similaire au comportement des boutons radio mais en utilisant des cases à cocher.

🧩 Étapes pour appliquer la solution VBA :

  1. Ouvrir l'Éditeur VBA : Faites un clic droit sur l'onglet de la feuille où les cases à cocher sont placées, puis choisissez Afficher le code.
  2. View Code menu
  3. Collez le code suivant dans la fenêtre de code de la feuille de calcul :
  4. Dim xBol As Boolean
    'Updated by Extendoffice
    
    Private Sub CheckBox1_Change(): SetCheckBoxes "CheckBox1": End Sub
    Private Sub CheckBox2_Change(): SetCheckBoxes "CheckBox2": End Sub
    Private Sub CheckBox3_Change(): SetCheckBoxes "CheckBox3": End Sub
    Private Sub CheckBox4_Change(): SetCheckBoxes "CheckBox4": End Sub
    Private Sub CheckBox5_Change(): SetCheckBoxes "CheckBox5": End Sub
    Private Sub CheckBox6_Click(): SetCheckBoxes "CheckBox6": End Sub
    Private Sub CheckBox7_Click(): SetCheckBoxes "CheckBox7": End Sub
    Private Sub CheckBox8_Click(): SetCheckBoxes "CheckBox8": End Sub
    Private Sub CheckBox9_Click(): SetCheckBoxes "CheckBox9": End Sub
    Private Sub CheckBox10_Click(): SetCheckBoxes "CheckBox10": End Sub
    
    Private Function SetCheckBoxes(mCheckBoxName As String)
        Dim xAllArr, xArrItem
        Dim xI, xJ
        If Not xBol Then Exit Function
        xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", _
                       "CheckBox4,CheckBox5,CheckBox6,CheckBox7", _
                       "CheckBox8,CheckBox9,CheckBox10")
        For xI = LBound(xAllArr) To UBound(xAllArr)
            If InStr(xAllArr(xI), mCheckBoxName) > 0 Then
                xBol = False
                xArrItem = Split(xAllArr(xI), ",")
                For xJ = LBound(xArrItem) To UBound(xArrItem)
                    If xArrItem(xJ) <> mCheckBoxName Then
                        Me.OLEObjects(xArrItem(xJ)).Object.Value = False
                    End If
                Next
            End If
        Next
        xBol = True
    End Function
    
    Private Sub Worksheet_Activate(): xBol = True: End Sub
    Private Sub Worksheet_SelectionChange(ByVal Target As Range): xBol = True: End Sub
  5. Fermez l'Éditeur VBA (Alt + Q) et retournez dans Excel pour tester les cases à cocher.

📌 Remarques importantes :

  • Assurez-vous que les propriétés Nom de vos cases à cocher (pas les étiquettes) correspondent exactement aux noms dans le code.
  • Les regroupements sont définis dans la ligne du tableau :
    xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
  • Ce VBA ne fonctionne qu'avec les contrôles ActiveX, pas avec les Contrôles de formulaire.
  • Les macros doivent être activées pour que cette automatisation fonctionne.

📺 Démonstration :

🔍 Conseils de dépannage :

  • Vérifiez qu'il n'y a pas de doublons dans les noms des cases à cocher.
  • Assurez-vous que toutes les cases à cocher sont des contrôles ActiveX.
  • Chaque procédure de case à cocher doit appeler correctement SetCheckBoxes.
  • Les scénarios inter-feuilles nécessitent une adaptation via des modules de classe ou un contrôle centralisé.

💡 Solution alternative : Vous pouvez utiliser des boutons d'option des Contrôles de formulaire pour un comportement de sélection unique intégré. Cependant, pour des mises en page avancées et un contrôle logique, VBA + Cases à cocher est plus flexible.

✨ Astuce : Des outils comme Kutools pour Excel offrent une gestion des cases à cocher basée sur une interface graphique pour une configuration plus facile sans codage.


Démonstration : Décochez une autre case à cocher lorsqu'une case à cocher est cochée dans Excel

 
Kutools pour Excel : Plus de 300 outils pratiques à portée de main ! Profitez de fonctionnalités IA définitivement gratuites ! Télécharger maintenant !

Meilleurs outils de productivité pour Office

🤖 Kutools AI Aide : Révolutionnez l'analyse de données avec : Exécution intelligente | Générer du code | Créer des formules personnalisées | Analyser des données et générer des graphiques | Appeler les Fonctions améliorées de Kutools
Fonctionnalités populaires : Trouver, mettre en évidence ou marquer les doublons | Supprimer les lignes vides | Combinez les colonnes ou les cellules sans perte de données | Arrondir sans formule...
Super RECHERCHEV : Recherche multi-critères | Recherche multi-valeurs | Recherche multi-feuilles | Correspondance floue...
Liste déroulante avancée : Créer rapidement une liste déroulante | Liste déroulante dépendante | Liste déroulante à sélection multiple...
Gestionnaire de colonnes : Ajouter un nombre spécifique de Colonnes | Déplacer des Colonnes | Alterner l’état de visibilité des Colonnes masquées | Comparer des plages & Colonnes...
Fonctionnalités phares : Mise au point de la grille | Affichage de conception | Barre de formule améliorée | Gestionnaire de Classeur & Feuille de calcul | Bibliothèque d’AutoTexte | Sélecteur de date | Merge Worksheets | Chiffrer/Déchiffrer les cellules | Envoyer un e-mail par liste | Super Filtre | Filtre spécial (filtrer les cellules avec une police en gras/italique/barré...)...
Top15 des ensembles d’outils :12 outils de texte (Ajouter du texte, Supprimer des caractères spécifiques, ...) |50+ Types de graphiques (Diagramme de Gantt, ...) |40+ Formules pratiques (Calculer l’âge en fonction de la date de naissance, ...) |19 outils d’insertion (Insérer un code QR, Insérer une image depuis le chemin, ...) |12 outils de conversion (Convertir en mots, Conversion de devises, ...) |7 outils de fusion & division (Fusion avancée des lignes, Diviser les cellules, ...) | ... et bien plus encore
Utilisez Kutools dans la langue de votre choix – disponible en Anglais, Espagnol, Allemand, Français, Chinois et plus de40 autres !

Améliorez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité incomparable. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte l’interface par onglets à Office, simplifiant considérablement votre travail.

  • Activez la modification 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é de50 % et réduit des centaines de clics de souris chaque jour !

Tous les modules complémentaires Kutools. Une seule installation

La suite Kutools for Office regroupe les modules complémentaires pour Excel, Word, Outlook & PowerPoint ainsi qu’Office Tab Pro, idéal pour les équipes travaillant sur plusieurs applications Office.

Excel Word Outlook Tabs PowerPoint
  • Suite tout-en-un — modules complémentaires Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Un installateur, une licence — installation en quelques minutes (compatible MSI)
  • Une synergie optimale — productivité accélérée sur l’ensemble des applications Office
  • Essai complet30 jours — sans inscription, ni carte bancaire
  • Meilleure valeur — économisez par rapport à l’achat d’add-ins individuels