Masquer automatiquement une feuille de calculs

GRINCH

XLDnaute Nouveau
Bonjour à tous,

Je reviens vers vous aujourd'hui avec une question qui, je le sais, a déjà été abordée...
Malheureusement, je ne suis pas parvenu à tirer profit des conversations précédentes.
Je suis à la recherche d'une solution qui permettrait de masquer ou d'afficher automatiquement une feuille de calcul.

EXEMPLE :

Si la cellule A1 de la feuille 1 = OUI
Alors la feuille 2 apparaît comme par magie...

Si la cellule A1 de la feuille 1 = NON
Alors la feuille 2 disparaît comme si elle n'avait jamais existée

L'un d'entre vous aurait-il la formule magique adaptée et pourrait m'expliquer comment l'utiliser ?

Ci-joint un fichier exemple à compléter.

Merci encore pour votre patience...
 

Pièces jointes

  • Exemple.xlsx
    7.8 KB · Affichages: 30
  • Exemple.xlsx
    7.8 KB · Affichages: 45
  • Exemple.xlsx
    7.8 KB · Affichages: 45

GRINCH

XLDnaute Nouveau
Re : Masquer automatiquement une feuille de calculs

Bonjour et merci pour le fichier.
Mais j'aimerais beaucoup comprendre comment vous avez procédé.
Où est la formule, comment la modifier...?
Parce que jusqu'à présent pour moi, "macro" c'était un petit poisson ou un proxénète...:)
 

Iznogood1

XLDnaute Impliqué
Re : Masquer automatiquement une feuille de calculs

:)
macro = programme ou suite d'instructions préenregistrées

Pour créer des macros simples :
Afficher l'onglet Développeur (masqué par défaut) dans les options Excel.
Puis cliquer sur "Enregistrer une macro"
Toutes les actions que tu fais sont alors enregistrées et pourront être à nouveau exécutées ultérieurement.
Ne pas oublier d'arrêter l'enregistrement quand c'est fini.

Pour répéter les actions, il suffit de cliquer sur Macro et de relancer ... la macro !


Mais pour des actions plus complexes (telles que détecter une valeur saisie dans une cellule pour afficher ou masquer un onglet !), il va falloir saisir du code.
Pour cela, il faut afficher l'éditeur (ALT + F11) et programmer ce qu'on veut réaliser.
Cette programmation nécessite de connaître un minimum le langage VBA (Visual Basic pour Applications).
 

Iznogood1

XLDnaute Impliqué
Re : Masquer automatiquement une feuille de calculs

Et pour répondre à ta question "Où est la formule, comment la modifier...?" :

Ouvre l'éditeur de code (ALT+F11)
Double clique sur l'objet "Feuil1" de ton classeur (liste à gauche de l'écran) et tu vois le code
Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, [A1]) Is Nothing Then
    Feuil2.Visible = (UCase([A1].Value) = "OUI")
  End If
End Sub

La première ligne impose de déclaler les variables avant leur utilisation (c'est juste un précaution)

Ensuite vient une "macro" qui s’exécute à chaque voit qu'une valeur est modifiée dans la Feuil1
Dans cette macro, on vérifie que c'est la cellule A1 qui est modifiée (If Not Intersect(Target, [A1]) ...)
Si c'est le cas, on change la valeur de la propriété "visible" de la Feuil2 (qui correspond à ton 2nd onglet)
selon la valeur de A1 (UCase permet de transformer en majuscules ; ainsi "Oui", "oui", "oUi"... auront le même comportement.
 

GRINCH

XLDnaute Nouveau
Re : Masquer automatiquement une feuille de calculs

Merci beaucoup, c'est très clair et très précis.
J'espère pouvoir te renvoyer l'ascenseur à l'occasion.
Moi qui croyais avoir quelques notions d'Excel, je réalise le chemin qu'il me reste à parcourir.
Si j'entends parler d'un poste de Kalif qui se libère je te fais signe...
Bonne fin de semaine...
 

Discussions similaires