Comment par double clic Afficher / Masquer colonnes

Bonjour le forum

Il y a quelques jours on m'a fait sur le forum les macros ci-dessous qui fonctionnent toutes les deux

Donc on m'a fait ce que j'ai demandé.

Autre question:

Serait-il possible de faire masquer les colonnes K:L et P (macros ci-dessous) mais ne pas faire démasquer les colonnes M,N,O et faire en sorte que seules les colonnes K, L,P soient démasquées

Merci pour vos éventuels retours

Cordialement

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
     If Target.Address <> "$A$2" Then Exit Sub
     Cancel = True
     With Range("K1:L1,P1").EntireColumn
          .Hidden = Not .Hidden
     End With
     Application.ScreenUpdating = True
End Sub

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)  'Colonnes discontinue 2ème façon
     If Target.Address <> "$A$2" Then Exit Sub
     Cancel = True
     With Range("K:L,P:P").EntireColumn
          .Hidden = Not .Hidden
End Sub

Bonjour al87,

Les colonnes M,N,O ne sont pas masquée dans le code donné

Et qu'est-ce que tu ne comprends dans l'instruction, elle pourtant simple à lire et comprendre... non ?

A+

Bonjour BrunoM45

Admettons quelles soient masquées

1er double clic => démasquage des colonnes de K à P mais les colonnes M N O sont visibles

Je voudrais quelles soient masquées c'est à dire que K L P soient accolées

Re,

Navré, mais avec le code donné...

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)  'Colonnes discontinue 2ème façon
  If Target.Address <> "$A$2" Then Exit Sub
  Cancel = True
  With Range("K:L,P:P").EntireColumn
    .Hidden = Not .Hidden
  End With
End Sub

Si les colonnes M,N,O sont masquées... il n'est pas possible qu'elles s'affichent

Je peux faire une vidéo si nécessaire, mais il est clair que non

7al87-exemple.xlsm (14.46 Ko)

A+

Bonjour Al87, BrunoM45,

Et une troisième manière.

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
'Note: Choisir pour le nom § n'importe quelle cellule hors zone habituelle de travail: Ex: AZ2
If Target = [A2] Then Cancel = True: [§] = Not [§]: [K:L,P1].Columns.Hidden = [§]
End Sub

Et par le menu Formules puis Gestionnaire de Noms

image

Mais là aussi, si les colonnes MNO sont toujours masquées. Elles le resteront.

Bonjour X Cellus

Fonctionne pas mais je pense que c'est moi qui m'explique mal

On repart à zéro

1er Double clic sur cellule A2 s'affiche comme ci-dessous

image

Moi je voudrais si c'est possible lorsque je fait 1er double clic cellule A2 ne s'affiche que ces colonnes ci-dessous

image

Al87 sais-tu parler le français 🤔

Tu as strictement donné et demandé le contraire 🤣😂

Il suffit de mettre les bonnes colonnes dans la ligne de code... 🙄

A nouveau,

On repart au niveau 0,

Tu as une procédure événementielle à partir du Workbook sur une cellule A2 d'une feuille et quelque soit cette feuille

Donc admettons que la première feuille soit dans le cas ci-dessous (1ière image). Et que tu double-clic sur A2 de cette première feuille.

image

Alors cette première feuille s'affichera ainsi.(2ième image)

image

Si tu refais un double-clic sur la cellule A2 de cette même feuille elle repassera comme en première image

Mais tes autres feuilles ne seront pas impactées, seule la feuille ou le double-clic est produit est touchée. Sauf si Byval Sh la cible particulièrement.

Note aussi, pour éviter la confusion que le 1ier appui de la touche gauche (le click) n'est pas gérée comme dans un bouton.

C'est bien la succession de deux clics rapide qui détecte l'événement.

Re Cellus

On part à zéro

C'est à dire que les colonnes K, L, M, N, O, P sont masquées

image

Je fais un 1er double clic je voudrais que s'affiche

image

2ème double clic

image

On revient à la 1èreimage

J'espère que c'est clair cette fois et je le fait sur toutes les feuilles

Merci à toi

Bonjour à tous

Un essai à tester

7classeur1-v1.xlsm (13.22 Ko)

Bye !

Bonjour gmb

On progresse je crois

Avec ta macro toutes les colonnes ouvertes de K à P

1er double clic s'affiche K L P

2ème double clic tout s'affiche de K à P alors qu'on devrait voir ceci

image

Voilà

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)  'Colonnes discontinue 2ème façon
  If Target.Address <> "$A$2" Then Exit Sub
  Cancel = True
  Application.ScreenUpdating = False
  With Range("K:P").EntireColumn
    .Hidden = Not .Hidden
  End With
Columns("M:O").Hidden = True
End Sub

Cordialement

Suite,

Inscrire dans le Workbook_Open

Private Sub Workbook_Open()
Feuil1.[§] = -1
Feuil1.[K:P].Columns.Hidden = True
End Sub

Au cas ou le classeur n'a pas été sauvegardé avec les colonnes K à P masquées lors de sa fermeture.

Puis dans le Workbook_SheetBeforeDoubleClic

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
'Note: Choisir pour le nom § n'importe quelle cellule hors zone habituelle de travail: Ex: AZ2
'A l'ouverture du classeur le nom § doit être à -1
If Target = [A2] Then Cancel = True: [§] = Not [§]: [K:O].Columns.Hidden = True: [K:L,P1].Columns.Hidden = [§]
End Sub

L' essai a été réalisé sur la feuille 1.

Bonjour,

Que c'est triste de voir ce genre de fil avec cette solution

Si je reprends le tout 1er post : " mais ne pas faire démasquer les colonnes M,N,O"

Il n'y a que moi qui sait lire le français

Bref... bravo al87 de nous faire perdre notre temps

Rechercher des sujets similaires à "comment double clic afficher masquer colonnes"