Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 utilisation de la macro "worksheet_change" plusieurs fois dans la même feuille

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jannine NOLAM

XLDnaute Nouveau
Bonjour tout le monde,

La macro suivante se situant sur la feuille 1, me permet de masquer la feuille 2 lorsque je choisis "Non" dans ma liste déroulante se situant en Q12 et de l'afficher lorsque je choisis "Oui".

VB:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

Dim titre As Variant
titre = Range("Q12")

 
    If Not Intersect(Target, Range("Q12")) Is Nothing Then
        Select Case titre
            Case Is = "Oui"
                Sheets("titre").Visible = True
            Case Is = "Non"
                Sheets("titre").Visible = False
        End Select
    End If

End Sub

J'aimerais utiliser la même macro sur la même feuille, soit la feuille 1, mais j'aimerais qu'elle me permette de masquer la feuille 3 lorsque je choisis "Non" dans une nouvelle liste déroulante se situant en Q43 et d'afficher la feuille 3 lorsque je choisi "Oui" en Q44.

Pouvez vous m'aider s'il vous plaît ?

Merci d'avance pour votre aide.
 
Evidemment, vos feuilles s'appellent Titre1 et 2 et non Feuil2 et 3.
Il fallait adapter la macro comme ceci :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin
Dim titre As Variant
    If Not Intersect(Target, [Q12]) Is Nothing Then
        If LCase([Q12]) = "oui" Then: Sheets("Titre1").Visible = True: Else Sheets("Titre1").Visible = False
    End If
    If Not Intersect(Target, [Q43]) Is Nothing Then
        If LCase([Q43]) = "oui" Then Sheets("Titre2").Visible = True Else Sheets("Titre2").Visible = False
    End If
Fin:
End Sub
 
@jannine NOLAM

ah ben oui ! c'est tout de suite plus clair avec un fichier ! 🙂

ton fichier en retour, avec une toute petite amélioration de présentation. 😉

code VBA de Feuil1 :

VB:
Option Explicit: Option Compare Text

Private Sub Worksheet_Change(ByVal Target As Range)
  With Target
    If .CountLarge > 1 Then Exit Sub
    If .Address = "$Q$12" Then
      Worksheets("Titre1").Visible = (.Value = "Oui")
    ElseIf .Address = "$Q$43" Then
      Worksheets("Titre2").Visible = (.Value = "Oui")
    End If
  End With
End Sub

et finalement, c'était bien 2 "Oui" ! 😜

soan
 

Pièces jointes

Merci beaucoup, j'ai reussi !!! 😉
Bonne soirée
 
Surement ;p
Bonne soirée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
135
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…