XL 2019 Sélection/désélection cases à cocher

Amilo

XLDnaute Accro
Bonjour à tous,

J'ai intégré en cellule E5 une case à cocher de type "Contrôle de formulaire" et en cellules E8:E14 des cases à cocher via Insertion>Objet (Wingdings),
Pour ces dernières de E8:E14, j'ai utilisé du code VBA que j'ai inséré en feuil1 et un code en module1 pour la case à cocher en E5

Cependant, je rencontre les 2 problèmes ci-dessous :

- lorsque je coche/décoche une des cases en E8:E14, il faut que je clique dans une autre cellule si je veux à nouveau cocher/décocher la case :
Comment modifier le code pour cocher/décocher tout en restant dans la cellule active ?

- Concernant mon 2ème problème, j'ai un message d'erreur lorsque je souhaite utiliser la case à cocher de la cellule E5 pour tout sélectionner/désélectionner

J'ai mis également en G5 une case à cocher de même type que les cases E8:E14.
Si cela est plus facile, je souhaiterais plutôt utiliser ce type en lieu et place de E5

Edit : l'autre problème pour les cases à cocher en E8:E14 est une fois avoir coché/décoché une de mes cases et que je fais Entrée, la case du dessous se modifie également !!

En vous remerciant par avance pour votre aide

Cordialement
 

Pièces jointes

  • Cases à cocher.xlsm
    19.7 KB · Affichages: 15
Dernière édition:
Solution
Bonjour à tous,

J'ai intégré en cellule E5 une case à cocher de type "Contrôle de formulaire" et en cellules E8:E14 des cases à cocher via Insertion>Objet (Wingdings),
Pour ces dernières de E8:E14, j'ai utilisé du code VBA que j'ai inséré en feuil1 et un code en module1 pour la case à cocher en E5

Cependant, je rencontre les 2 problèmes ci-dessous :

- lorsque je coche/décoche une des cases en E8:E14, il faut que je clique dans une autre cellule si je veux à nouveau cocher/décocher la case :
Comment modifier le code pour cocher/décocher tout en restant dans la cellule active ?

- Concernant mon 2ème problème, j'ai un message d'erreur lorsque je souhaite utiliser la case à cocher de la cellule E5 pour tout...

Amilo

XLDnaute Accro
Re,

Staple1600, merci pour votre retour,
Cela fonctionne lorsque j'exécute individuellement les 2 codes "test I" et "test II" depuis l'éditeur VB

Mais comment associer le 3ème code "Sub Cochez" à une des cases à cocher ?
Est-ce que ce code exécute alternativement les 2 autres ?

Je vous mets sinon un fichier test si vous voulez bien vérifier.

Merci d'avance
 

Pièces jointes

  • Test Cases à cocher.xlsm
    23.5 KB · Affichages: 6

Staple1600

XLDnaute Barbatruc
Re

Sub Cochez(statut As Boolean) est une macro "paramétrée"
Elle doit être appelée à partir d'une autre macro.
Dans mon exemple, ce sont Test_I et Test_II qui l'utilise
Quand le paramètre sur True -< on coche les CheckBoxes
Quand le paramètre sur False-< on décoche les CheckBoxes

PS: J'a renommé les macros dans mon exemple.
Est-ce plus parlant ainsi?
 

Amilo

XLDnaute Accro
Re,
Merci pour cette précision,
Là où je veux en venir, c'est que je ne sais pas comment faire fonctionner à partir d'une case à cocher pour sélectionner/désélectionner toutes les autres cases.

La seule solution que je vois, c'est d'ajouter 2 boutons de commande : chacun pointant sur un des 2 codes.
J'ai mis le fichier pour démonstration.

Merci d'avance
 

Pièces jointes

  • Test Cases à cocher.xlsm
    24.8 KB · Affichages: 8

Staple1600

XLDnaute Barbatruc
Re

On peut faire comme ceci
1) Nommer un CheckBox (ActiveX)
Ici je renommé le CheckBox1 en TITI
(En Mode création -> Clic-droit->Propriétés-> Changer la valeur dans Name
2) Mettre ce code dans la feuille (et pas dans un module standard)
VB:
Private Sub TITI_Click()
Cochez Me.TITI
End Sub
Private Sub Cochez(statut As Boolean)
Dim c As Object
With ActiveSheet
    .CheckBoxes.Value = statut
    For Each c In .OLEObjects
        If TypeName(c.Object) = "CheckBox" Then
            If Not c.Name = "TITI" Then
            c.Object.Value = statut
        End If
    End If
    Next c
End With
End Sub
NB: Attention, Il faut supprimer le code déjà présent.
Test OK sur ton fichier Exemple.
 

Discussions similaires

Réponses
5
Affichages
187
Réponses
2
Affichages
292

Statistiques des forums

Discussions
312 280
Messages
2 086 749
Membres
103 385
dernier inscrit
Laurencean