Macro masquer/afficher des lignes et colonnes

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

  • Classeur123.xls
    40.5 KB · Affichages: 178
  • Classeur123.xls
    40.5 KB · Affichages: 183
  • Classeur123.xls
    40.5 KB · Affichages: 191

Papou-net

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

  • totof91.xls
    49 KB · Affichages: 378

Papou-net

XLDnaute Barbatruc
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.
 

tototiti2008

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

Totof91

XLDnaute Nouveau
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 :rolleyes:

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

En vous remerciant par avance.

Cordialement,
 
Dernière édition:

tototiti2008

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

  • totof91-2.xls
    46 KB · Affichages: 174

Papou-net

XLDnaute Barbatruc
Re : Macro masquer/afficher des lignes et colonnes

RE Totof91,

Voici ton fichier modifié, en espérant que j'ai masqué les bonnes colonnes, mais ce serait facile à corriger.

Bonne soirée.

Cordialement.

PS : Bonjour tototiti2008,
 

Pièces jointes

  • totof91-1.xls
    47 KB · Affichages: 145

Totof91

XLDnaute Nouveau
Re : Macro masquer/afficher des lignes et colonnes

Merci à vous deux pour votre aident :eek:

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

tototiti2008,

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

Encore merci pour votre aide et le temps que cela vous as pris de me répondre.
 

Totof91

XLDnaute Nouveau
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,
 

Papou-net

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

  • totof91-3.xls
    59 KB · Affichages: 132
Dernière édition:

Totof91

XLDnaute Nouveau
Re : Macro masquer/afficher des lignes et colonnes

Bonjour Papou,

Magnifique avec les label :cool:

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 :eek:

En te remerciant par avance.

Cordialement,
 

Papou-net

XLDnaute Barbatruc
Re : Macro masquer/afficher des lignes et colonnes

Bonjour Papou,

Magnifique avec les label :cool:

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 :eek:

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

  • totof91-4.xls
    59.5 KB · Affichages: 180

Discussions similaires

Réponses
2
Affichages
172

Statistiques des forums

Discussions
312 277
Messages
2 086 715
Membres
103 378
dernier inscrit
phdrouart