Macro masquer/afficher des lignes et colonnes

  • Initiateur de la discussion Initiateur de la discussion Totof91
  • Date de début Date de début

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 !

Totof91

XLDnaute Nouveau
Bonjour Forum,

J'ai besoin de votre aide et expertise pour masquer et afficher des lignes et colonnes de deux façon différente.

1. Je souhaite masquer/afficher la colonne C en cliquant sur la cellule D1 et masquer/afficher la colonne H en cliquant sur la cellule I1

2. Je souhaite masquer/afficher Les lignes produit en jaune en passant avec la souris sur le nom de chaque client. Exemple : Je passe ma souris sur le nom Martin et les lignes 9 à 12 s'affichent, je déplace ma souris et celles-ci se masque (Je sais que c'est possible avec les label mais je n'ai pas les connaissances pour les mettre en application)

En vous remerciant par avance pour votre précisieuce aide.

Cordialement,
 

Pièces jointes

Re : Macro masquer/afficher des lignes et colonnes

Bonjour Totof91,

Les événements Clic et MouseMove ne sont pas intégrés aux feuilles de calcul.

Je te propose donc une solution simplifiée au moyen d'un double-clic, en espérant qu'elle sera à ta convenance.

Cordialement.
 

Pièces jointes

Re : Macro masquer/afficher des lignes et colonnes

Bonjour Papou-net,

Je te remercie pour ton aide et ta réponse.

Cela fonctionne bien pour l'affichage des colonnes mais comment faire pour les masquer de nouveaux?

Merci.

Il suffit de refaire un double-clic sur la même cellule (un double clic masque la colonne, un second la réaffiche).

Espérant avoir répondu.

Cordialement.
 
Re : Macro masquer/afficher des lignes et colonnes

Bonjour Totof, Bonjour Papou-net,

si tu protèges ta feuille avec ce code VBA, ça fonctionnera

Code:
ActiveSheet.Protect userinterfaceonly:=True

UserInterfaceOnly permet de protéger la feuille pour l'utilisateur mais pas pour le code VBA
 
Re : Macro masquer/afficher des lignes et colonnes

Merci pour vos réponses, cela fonctionne impeccablement.

Mais comme je suis un boulet, je souhaites masquer deux colonnes de suite et non plus une 🙄

J'ai essayé de bidouiller la macro aux niveaux des colonnes sans succès bien évidemment 😎

En vous remerciant par avance.

Cordialement,
 
Dernière édition:
Re : Macro masquer/afficher des lignes et colonnes

Re,

Sinon on peut envisager de le faire avec un plan ?

Il faut utiliser les + et - pour afficher/masquer les colonnes

Pour que ces + et - soient disponibles quand la feuille est protégée, il faut la protéger avec

Code:
ActiveSheet.Protect userinterfaceonly:=True
ActiveSheet.EnableOutlining = True

L'intérêt est que tu crées tes regroupements de lignes/colonnes comme tu veux
(Sélectionner les lignes - Menu Données - Grouper et créer un plan - Grouper) et que tu n'as pas à modifier du VBA si tu changes d'avis sur le nombre de lignes/colonnes
 

Pièces jointes

Re : Macro masquer/afficher des lignes et colonnes

Merci à vous deux pour votre aident 😱

Tous fonctionnent maintenant à merveille (Merci Papou pour le fichier)

tototiti2008,

J'ai pensé au groupement mais j'ai voulu me compliquer la vie 😀

Encore merci pour votre aide et le temps que cela vous as pris de me répondre.
 
Re : Macro masquer/afficher des lignes et colonnes

Bonjour Forum,

C'est encore le boulet de service 😉

Je souhaiterais savoir si il est possible par exemple d'adapter cette macro pour que les lignes masquer/afficher individuellement puissent être également afficher/masquer en totalité et d'un seul clique avec par exemple la cellule B5 ( Cela ne concernant que les lignes):

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
ActiveSheet.Unprotect
Select Case Target.Address
    Case Is = "$M$6:$N$6", "$Z$6:$AA$6", "$AM$6:$AN$6", "$AZ$6:$BA$6", "$BM$6:$BN$6"
        Range(Cells(1, Target.Column + 2), Cells(1, Target.Column + 5)).EntireColumn.Hidden = _
          Not Range(Cells(1, Target.Column + 2), Cells(1, Target.Column + 5)).EntireColumn.Hidden
        Target.Offset(0, 2).Select
        Target.Offset(0, 2).Select
    Case Is = "$I$6:$J$6", "$V$6:$W$6", "$AI$6:$AJ$6", "$AV$6:$AW$6", "$BI$6:$BJ$6"
        Range(Cells(1, Target.Column + 2), Cells(1, Target.Column + 3)).EntireColumn.Hidden = _
          Not Range(Cells(1, Target.Column + 2), Cells(1, Target.Column + 3)).EntireColumn.Hidden
        Target.Offset(0, 2).Select
        Target.Offset(0, 2).Select
    Case Is = "$A$8", "$A$15", "$A$22", "$A$29", "$A$36", "$A$43", "$A$50", "$A$57", "$A$64", "$A$71", "$A$78", "$A$85", "$A$92", "$A$99", "$A$106", "$A$113", "$A$120", "$A$127", "$A$134", "$A$141", "$A$148", "$A$155", "$A$162", "$A$169", "$A$176", "$A$183", "$A$190", "$A$197", "$A$204", "$A$211", "$A$218", "$A$225", "$A$232"
        Rows(Target.Row + 1 & ":" & Target.Row + 6).EntireRow.Hidden = Not Rows(Target.Row + 1 & ":" & Target.Row + 6).EntireRow.Hidden
        Target.Offset(1, 0).Select
End Select
ActiveSheet.Protect
End Sub

J'ai pensé à une macro qui active toutes les cases d'un coup :

Code:
"$A$8", "$A$15", "$A$22", "$A$29", "$A$36", "$A$43", "$A$50", "$A$57", "$A$64", "$A$71", "$A$78", "$A$85", "$A$92", "$A$99", "$A$106", "$A$113", "$A$120", "$A$127", "$A$134", "$A$141", "$A$148", "$A$155", "$A$162", "$A$169", "$A$176", "$A$183", "$A$190", "$A$197", "$A$204", "$A$211", "$A$218", "$A$225", "$A$232"

En vous remerciant par avance pour votre aident.

Cordialement,
 
Re : Macro masquer/afficher des lignes et colonnes

Bonjour Totof91,

Je n'ai pas bien compris ta demande, mais j'ai réfléchi depuis hier et j'ai trouvé une solution pour masquer/afficher en un seul clic.

J'ai positionné des images (de la barre Contrôles) sur les cellules adéquates, j'ai rendu leur bordure et leur fond transparents et affecté une procédure à leur événement Click.

Ca ne devrait pas être compliqué de répondre à ta dernière demande, à condition de mieux la préciser.

Dans cette attente.

PS : avec cette solution, tu ne peux plus accéder aux cellules recouvertes par les images. Pour les modifier, il faut te placer sur une cellule adjacente et déplacer ta sélection avec une touche fléchée.

Cordialement.
 

Pièces jointes

Dernière édition:
Re : Macro masquer/afficher des lignes et colonnes

Bonjour Papou,

Magnifique avec les label 😎

Pour résumé ma demande de ce matin, ce serait de cliquer par exemple sur la cellule A1 et de masquer/afficher les lignes en jaune (A4 à A7, A9 à A12 ect...) mais toutes d'un coup.

Cela permetterais d'avoir le choix, soit d'afficher un nom particulier dans le détail, soit tous.

J'éspére que j'ai bien synthétiser 😱

En te remerciant par avance.

Cordialement,
 
Re : Macro masquer/afficher des lignes et colonnes

Bonjour Papou,

Magnifique avec les label 😎

Pour résumé ma demande de ce matin, ce serait de cliquer par exemple sur la cellule A1 et de masquer/afficher les lignes en jaune (A4 à A7, A9 à A12 ect...) mais toutes d'un coup.

Cela permetterais d'avoir le choix, soit d'afficher un nom particulier dans le détail, soit tous.

J'éspére que j'ai bien synthétiser 😱

En te remerciant par avance.

Cordialement,

RE :

OK, c'est clair.

Je pense que cette version devrait te convenir : j'ai suivi la même démarche, j'ai ajouté une image sur la cellule A1.

Cordialement.
 

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

Réponses
6
Affichages
198
Réponses
4
Affichages
223
Réponses
3
Affichages
451
Retour