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

un internaute

XLDnaute Impliqué
Bonjour le forum

Je voudrais afficher les lignes 10 à 29 à partir de la cellule A3 avec un clic droit
Merci à vous
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
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

  • Classeur2.xlsm
    13.6 KB · Affichages: 2

un internaute

XLDnaute Impliqué
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
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
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

  • Classeur2 (V2).xlsm
    15.5 KB · Affichages: 2

un internaute

XLDnaute Impliqué
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
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
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

  • Classeur2 (V3).xlsm
    15.5 KB · Affichages: 2

Discussions similaires

Réponses
7
Affichages
292

Statistiques des forums

Discussions
314 422
Messages
2 109 447
Membres
110 482
dernier inscrit
ilyxxxh