Passer au contenu principal

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

Comme indiqué dans le gif ci-dessous, supposons qu'il existe une liste d'achats que vous devez finaliser. Lors de la vérification de la liste, vous constatez que les éléments cochés dans certaines catégories dépassent le budget et doivent être sélectionnés à nouveau. Étant donné que la liste est trop longue, vous avez maintenant besoin d'un moyen plus efficace de décocher automatiquement la case cochée d'origine lorsqu'une nouvelle case est cochée dans une catégorie. Ce didacticiel montre la méthode étape par étape pour vous aider à le faire.

Décochez une autre case lorsqu'une nouvelle case est cochée avec le code VBA


Décochez une autre case lorsqu'une nouvelle case est cochée avec le code VBA

Comme le montre la démo ci-dessus, dix cases à cocher nommées Case à cocher1, Case à cocher2, Case à cocher3, ..., Case à cocher10 sont divisés en 3 groupes et situés dans différentes catégories du tableau.

Dans cet exemple, Checkbox1, 2, 3 sont dans un groupe, Checkbox4, 5, 6, 7 sont dans un groupe et Checkbox8, 9,10 sont dans le même groupe. Dans chaque groupe, une seule case à cocher peut être cochée à la fois. Lorsqu'une case est cochée, une autre case est décochée automatiquement.

Voyons maintenant comment appliquer le code VBA suivant pour résoudre ce problème.

1. Cliquez avec le bouton droit sur l'onglet de la feuille et cliquez sur Voir le code dans le menu contextuel.

2. Dans le ouvert Microsoft Visual Basic pour applications fenêtre, collez le code VBA suivant dans le Feuille (Code) fenêtre.

Code VBA : décochez une autre case lorsqu'une nouvelle case est cochée

Dim xBol As Boolean
'Updated by Extendoffice 20220816
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 x As Long
Dim xAllArr
Dim xArrItem
Dim xI, xJ
If Not xBol Then Exit Function
'In the following line, the checkboxes enclosed in double quotes belong to the same group, and each checkbox is separated by a comma. To add more checkbox groups, please enclose the checkboxes in new double quotes.
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

Notes:

1) Dans le code, Case à cocher1, Case à cocher2, ..., Case à cocher10 sont le nom des cases à cocher ;
2) Dans la ligne suivante, les cases à cocher entre guillemets doubles appartiennent au même groupe, et chaque case à cocher est séparée par une virgule. Pour ajouter d'autres groupes de cases à cocher, veuillez placer les cases à cocher entre guillemets doubles.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
3) Les cases à cocher sont contrôle ActiveX cases à cocher.

3. appuie sur le autre + Q touches pour fermer le Microsoft Visual Basic pour applications fenêtre.

Ensuite, lorsque vous cochez une nouvelle case à cocher dans un groupe, la cochée d'origine sera décochée automatiquement, comme indiqué dans le gif ci-dessous.


Démo : Décochez une autre case lorsqu'une case est cochée dans Excel

  Kutools for Excel comprend plus de 300 fonctionnalités puissantes pour Microsoft Excel. Essai gratuit sans limitation dans 30 jours. Téléchargez maintenant!

Meilleurs outils de productivité bureautique

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche 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 spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Centre de ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...

Description


Office Tab apporte une interface à onglets à Office et facilite grandement 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!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations