Autres [RESOLU] Afficher des lignes avec un clic droit à partir d'une cellule

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 !

Bonjour,
Un essai en PJ avec un clic gauche et non droit, ce qui est plus simple :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [A3]) Is Nothing Then
        Application.EnableEvents = False
        If Target = "Masquer" Then
            Rows("10:29").EntireRow.Hidden = True: [A3] = "Afficher"
        Else
            Rows("10:29").EntireRow.Hidden = False: [A3] = "Masquer"
        End If
        [A1].Select
    End If
    Application.EnableEvents = True
End Sub
 

Pièces jointes

Bonjour sylvanu
Super mais j'ai pas tout dit
Toutes mes excuses
Dans cellule A3 il y a du texte => Série 1 plage 10 à 29
Dans cellule A4 il y a du texte => Série 2 plage 31 à 50
Dans cellule A5 il y a du texte => Série 3 plage 52 à 71
Dans cellule A6 il y a du texte => Série 4 plage 73 à 92
Dans cellule A7 il y a du texte => Série 5 plage 94 à 113
Dans cellule A8 il y a du texte => Série 6 plage 115 à 134
Ce sont des Séries de 20 séances de kiné
Si je clique droit sur cellule A3 la plage 10 à 29 doit s'ouvrir les autres doivent rester masquées
 
Re,
Pourquoi ne pas donner tout dès le premier post, juste pour éviter de tout refaire ?
Un essai en PJ , toujours avec clic gauche, avec :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [A3:A8]) Is Nothing Then
        Application.EnableEvents = False
        Rows("10:134").EntireRow.Hidden = True
        Select Case Target
            Case "Série 1": Rows("10:29").EntireRow.Hidden = False
            Case "Série 2": Rows("31:50").EntireRow.Hidden = False
            Case "Série 3": Rows("52:71").EntireRow.Hidden = False
            Case "Série 4": Rows("73:92").EntireRow.Hidden = False
            Case "Série 5": Rows("94:113").EntireRow.Hidden = False
            Case "Série 6": Rows("115:134").EntireRow.Hidden = False
        End Select
        [A1].Select
    End If
    Application.EnableEvents = True
End Sub
 

Pièces jointes

Super mais encore un petit truc si ç'est possible
C'est à dire que quand je clique sur A3 par exemple la plage s'affiche bien mais ça met Série 1 c'est ainsi pour toutes les séries
JE SAIS IL FAUDRAIT LE FICHIER
Entre les plages il y a une ligne de séparation
Ligne 9 Série 1
Ligne 30 Série 2
Ligne 51 Série 3
Ligne 72 Série 4
Ligne 93 Série 5
Ligne 114 Série 6
Si trop de casse tu fais pas ça fait le boulot quand même
Encore toutes mes excuses
Je m'explique très mal
 
JE SAIS IL FAUDRAIT LE FICHIER
Alors qu'attendez vous ? C'est si complexe à faire ?
Mais je suis d'accord avec vous, c'est plus simple quand le contributeur le fait.

mais ça met Série 1 c'est ainsi pour toutes les séries
N'importe quoi !
Les mots Série1 à Série6 dans les plages sont uniquement là pour le test, pour vérifier que ça marche.
C'est du texte pour test ce n'est pas la macro qui écrit.
Puisqu'il faut mâcher le travail, la PJ n'a plus ces mots.
A noter que les couleurs n'ont aucune importance, j'ai mis des couleurs uniquement pour vérifier et tester.
 

Pièces jointes

- 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

Retour