Comment décocher une autre case à cocher lorsqu'une case à cocher est cochée dans Excel ?
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
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 :
- 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.
- Collez le code suivant dans la fenêtre de code de la feuille de calcul :
- Fermez l'Éditeur VBA (Alt + Q) et retournez dans Excel pour tester les cases à cocher.

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
📌 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
Meilleurs outils de productivité pour Office
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.





- 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