XL 2019 [RESOLU]Masquer/afficher des colonnes non continues sur VBA

Titoine693

XLDnaute Nouveau
Bonjour,

J'ai pas mal chercher dans le forum, mais je n'arrive pas à arriver à mes fins...

J'ai un planning hebdo avec un premier onglet fonctionnel et je suis arrivé à mes fins avec un toggle button, pas de soucis dessus. (je rentre mes heures sur ce premier onglet)

Et mon deuxième onglet, avec l'affichage de mes heures, où j'aimerai avoir 3 boutons distincts pour pouvoir masquer mes colonnes en fonction des services (Expedition, Transport interne et Presse)...

Expedition (C:E, S:V, AI:AL, etc...)

Pour l'instant le code VBA que j'ai essayé ne fonctionne pas, ou alors il me masque l'intégralité de mes services... :(

Sauriez-vous m'aider là-dessus ?

Merci d'avance !! :)
 

Pièces jointes

  • Planning hebdo.xlsm
    100 KB · Affichages: 3

Hasco

XLDnaute Barbatruc
Repose en paix
Euh

Je viens de vous répondre sur l'autre fil.
C'était inutile de rouvrir une nouvelle discussion, vous pouviez ré-éditer votre demande et ainsi la faire remonter. On va plus savoir où on en est.

cordialement
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

voici deux codes, un plus court que l'autre :

VB:
Private Sub CommandButton1_Click()
    Dim NewEtat As Boolean
    With Range("C:F")
        NewEtat = Not .EntireColumn.Hidden
        .EntireColumn.Hidden = NewEtat
        If NewEtat = True Then
            CommandButton1.Caption = "Cacher"
        Else
            CommandButton1.Caption = "Masquer"
        End If
    End With
End Sub

Private Sub CommandButton1_Click()
    Dim NewEtat As Boolean
    With Range("C:F")
        NewEtat = Not .EntireColumn.Hidden
        .EntireColumn.Hidden = NewEtat
        CommandButton1.Caption = Array("Masquer", "Afficher")(-NewEtat)
    End With
End Sub

Cordialement
 

soan

XLDnaute Barbatruc
Inactif
@Titoine693

voici un code VBA optimisé :

VB:
Option Explicit

Sub HideShow(FX$)
  Const Cols$ = "C:F, S:V, AI:AL, AY:BB, BO:BR, CE:CH"
  With Worksheets(FX)
    .Range(Cols).Columns.Hidden = Not .Columns("C").Hidden
  End With
End Sub

Sub Expédition_Cliquer()
  HideShow "Expédition"
End Sub

Sub TransportInterne_Cliquer()
  HideShow "Transport Interne"
End Sub

Sub Presse_Cliquer()
  HideShow "Presse"
End Sub

soan
 

Discussions similaires

Statistiques des forums

Discussions
314 718
Messages
2 112 177
Membres
111 452
dernier inscrit
christine64