Bouton décocher des CheckBox en VBA

Bonjour à tous,

J'ai créé une série de CheckBox pour "Afficher/ouvrir" des onglets et un bouton pour "Masquer" tous les onglets ouverts.

Jusque là, tout fonctionne parfaitement.

J'aimerai ajouter une fonction à mon bouton "Masquer" pour que les cases à cocher actives soient décochées en même temps que le masquage des onglets.

Pensez-vous que cela soit possible ?

Je joins dans ce post mon fichier avec mes fonctionnalités déjà en place.

Merci pour votre aide.

François

11document.xlsm (57.99 Ko)

Salut Tchotcho31270,

'MASQUER TOUS LES ONGLETS SAUF ACCUEIL & NAVIGATION
Sub Masquer_sauf_Feuil1()
'
For x = 1 To 4
    Worksheets("Accueil & Navigation").OLEObjects("CheckBox" & x).Object.Value = False
Next
'
End Sub

A+

Bonjour curulis57,

Merci pour ce code.

Est-il possible de l'intégrer dans mon documents joint pour plus de compréhension ?

Pour mémoire, je souhaiterai que la fonction "décocher toutes les CheckBox" soit intégrée au bouton qui masque les onglets .

Merci par avance.

François

Salut Tchotcho31270,

Mais, c'est bien là que ça se trouve...

Sub Masquer_sauf_Feuil1()

A+

12document.xlsm (55.63 Ko)

Super, effectivement, cela fonctionne parfaitement

Merci pour ton aide et bonne fin de week-end.

François

Bonjour,

Je relance ce post car j'ai un conflit avec un autre bouton qui affiche tous les onglets.

En effet, quand j'affiche tous les onglets avec le bouton "Afficher" et que je souhaite les masquer avec le bouton "Masquer", le masquage ne fonctionne plus.

Je joins à ce post mon fichier avec les fonctionnalités.

Merci encore pour votre aide.

François

6document-v2.xlsm (58.18 Ko)

Salut Tchotcho31270,

tu n'as pas cherché, manifestement, à comprendre comment fonctionnait la macro !!

'AFFICHER TOUS LES ONGLETS
Sub Tout_visible()
'
For x = 1 To 4
    Worksheets("Accueil & Navigation").OLEObjects("CheckBox" & x).Object.Value = True
Next
Worksheets("Accueil & Navigation").Activate
'
End Sub

A+

8document-v2.xlsm (56.50 Ko)

Merci curulis57. J'ai cherché à comprendre mais je ne pensais pas que la macro devait recocher les les cases.

Ta macro fonctionne très bien.

J'ai une dernière question : si j'ajoute de nouvelles cases à cocher, je devrais augmenter la valeur de For x = 1 To 4

Existe t-il une solution pour que l'ajout de cases à cocher soit illimité sans avoir à modifier la valeur de For x = 1 To 4 ?

Bonne journée.

François

Salut Tchotcho31270,

Sub Masquer_sauf_Feuil1()
'
Dim obj As OLEObject
'
For Each obj In ActiveSheet.OLEObjects
    If TypeOf obj.Object Is msforms.CheckBox Then obj.Object.Value = False
Next obj
'
End Sub

A+

6document-v2.xlsm (56.67 Ko)

Bonjour curulis57,

Merci pour cette macro qui fonctionne parfaitement.

J'ai fait a même macro pour afficher les onglets (ça fonctionne). J'ai juste changé la valeur False par la valeur True.

Peux-tu me confirmer qu'elle est conforme ?

'AFFICHER TOUS LES ONGLETS

Sub Tout_visible()

'

Dim obj As OLEObject

'

For Each obj In ActiveSheet.OLEObjects

If TypeOf obj.Object Is msforms.CheckBox Then obj.Object.Value = True

Next obj

'

End Sub

Bonne journée.

François

Salut

oui, ce n'était pas très compliqué non plus d'autant qu'elle se trouve dans le fichier joint.

Ajoute quand même cette dernière ligne si tu veux rester sur la feuille active...

Worksheets("Accueil & Navigation").Activate

...le changement de valeur d'une CheckBox activant la-dite feuille !

Sub Tout_visible()
'
Dim obj As OLEObject
'
For Each obj In ActiveSheet.OLEObjects
    If TypeOf obj.Object Is msforms.CheckBox Then obj.Object.Value = True
Next obj
Worksheets("Accueil & Navigation").Activate
'
End Sub

A+

Parfait !!

Merci pour ton aide.

Très bonne soirée.

François

Rechercher des sujets similaires à "bouton decocher checkbox vba"