Code VBA: Masquer une feuille avec case a cocher

Bonjour à tous,

N'etant absolument pas familier avec le VBA, je souhaiterais néanmoins créer une fonction sur l'un de mes fichier et le VBA semble est la seule solution. Je sollicite donc une fois de plus vos connaissances! La demande est assez simple je pense:

Sur la Feuil1, j'ai une case à cocher contrôle de formulaire, avec sa cellule liée (D10 dans mon fichier).
Je souhaiterais que lorsque ma cellule D10 soit FAUX , la Feuil2 disparaisse.

De fait, lorsque D10 est VRAI, la Feuil2 soit visible.

J'ai essayé de jouer les autodidactes avec le VBA, mais je rame un peu!

En vous remerciant par avance,
Cordialement

Seb

Bonjour

Un exemple de ton fichier serait le bienvenu

Bonjour à tous,

S'il s'agit d'un contrôle ActiveX, ce dont je doute, ce code irait avec une case à cocher dont le titre (caption) est identique au nom de la feuille :

'Module de la feuille contenant la checkbox
private sub checkbox1_change()
sheets(checkbox1.caption).visible = checkbox1.value
end sub

Sinon, il faut affecter ce code à chaque case à cocher :

Sub AfficheMasque()
with activesheet.checkboxes(application.caller)
    on error resume next
    sheets(.caption).visible = .value = 1
    if err.number = 9 then msgbox "Feuille inexistante"
    on error goto 0
end with
end sub

S'il y a un grand nombre de cases à cocher, on peut par exemple utiliser ce code éphémère pour automatiser l'affectation :

sub Affecter()
with activesheet
    for each chk in .checkboxes
        chk.onaction = "AfficheMasque"
    next chk
end with
end sub

Il faut bien que l'intitulé de chaque case corresponde à un nom de feuille.

Cdlt,

Bonjour Seb Drz, 3GB, Joco7915,

Ci-dessous en utilisant un CheckBox de type Activex et non de type formulaire.

Afin de gérer l'événement cochage, décochage.

Private Sub CheckBox1_Click()
On Error Resume Next
Feuil1.Visible = IIf(CheckBox1.Value = 0, xlSheetHidden, xlSheetVisible)
End Sub

Bonsoir a tous,

Merci a tous.

X Cellus, 3GB: je suis sur Mac et donc pas d'activeX.. Je reste donc une contrôle de formulaire.
3GB: je suppose donc que c'est le deuxièmement code qui serait adapté, mais j'ai une seule case a cocher, et je me perds un peu dans la VBA tu me proposes..

Pour Joco7915, je joins un exemple de fichier. C'est vrai que j'aurais du le faire.
C'est peut être plus explicite de le faire direct dessus.
Merci

7seb.xlsm (11.77 Ko)

Suite,

En retour le fichier avec les deux méthodes.

14sebmodif.xlsm (21.78 Ko)

Bonsoir,

Super. Résolu pour moi!
Merci a tous pour votre temps, c'est cool de trouver une aide comme ca!

XCellus, top, j'ai compris ta façon de faire, tu as résolu mon problème. Et je te confirme, les ActiveX ne fonctionne pas sur Mac!

Cordialement

Seb

Rechercher des sujets similaires à "code vba masquer feuille case cocher"