Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro : masquer/afficher des colonnes

  • Initiateur de la discussion Initiateur de la discussion Nexto
  • 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 !

Nexto

XLDnaute Nouveau
Bonjour le forum,

J'aurais besoins d'une petite macro afin d'afficher/masquer des colonnes (G et F) d'un tableau par l'intermédiaire du même bouton. (Je sais comment assigner une macro à un bouton hors je débute avec le VBA et n'arrive pas à créer le code...)
Cette macro doit être effective pour toutes les feuilles du classeurs sauf pour sauf pour quatre d'entres elles qu'on pourra nommer TEST1, TEST2, TEST3 et TEST4 pour l'exemple.

En vous remerciant,

Nexto
 
Re : Macro : masquer/afficher des colonnes

Bonjour,
Pour ma part je fais cette macro :
Sub nomdelamacro ()
Range("f:f").EntireColumn.Hidden = True ‘Masquer
Range("f:f").EntireColumn.Hidden = False ‘Afficher
End sub
Remplacer le "f" par la lettre de la colonne à masquer.
Cordialement
Nicole
 
Re : Macro : masquer/afficher des colonnes



Bonjour,

Je ne peux pas utiliser cette solution car j'ai vraiment besoins que la macro soit effective pour toutes les feuilles du classeurs sauf pour TEST1, TEST2, TEST3 et TEST4 car l'utilisateur à la possibilité de créer de nouveau onglets qui comprennent le même tableau dont je souhaite pouvoir masquer/afficher les colonnes F et G.

Merci

Nexto
 
Re : Macro : masquer/afficher des colonnes

Bonjour Nexto, Nicole76

Pas très clair cette demande, en plus sans fichier exemple....🙄

Si chaque bouton doit afficher/masquer toutes les colonne F:G de toutes les feuilles (ormis test1, tes2 , ... etc) :

VB:
Sub test()
Dim Liste$, Sh As Worksheet
Liste = ",TEST1,TEST2,TEST3,TEST4,"
For Each Sh In Worksheets
    If InStr(Liste, "," & Sh.Name & ",") = 0 Then Sh.Columns("f:G").Hidden = Not Sh.Columns("f:G").Hidden
Next Sh
End Sub

Si les boutons doivent masquer les colonnes de la feuille qui porte le bouton, sauf les feuilles Test1, test2...etc:
VB:
Sub test2()
Dim Liste$
Liste = ",TEST1,TEST2,TEST3,TEST4,"
With ActiveSheet
    If InStr(Liste, "," & .Name & ",") = 0 Then .Columns("f:G").Hidden = Not .Columns("f:G").Hidden
End With
End Sub

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

ou bien
Sub Affiche_Masque()
Columns(6 And 7).Hidden = Not Columns(6 And 7).Hidden
End Sub


oops, bonjour tout le monde ... faudrait un rafraîchissement automatique avant de valider l'envoi ....
 
Dernière édition:
Re : Macro : masquer/afficher des colonnes

salut

Alt F11 puis doubleclic sur ThisWorkbook (cadre à gauche)* et copier
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  If Sh.Name <> "TEST1" And Sh.Name <> "TEST2" And Sh.Name <> "TEST3" And Sh.Name <> "TEST4" Then
    [F:G].Columns.Hidden = Not  [F:G].Columns.Hidden
  End If
End Sub

*Ctrl R pour le faire apparaitre.

Pas besoin de bouton, les 2 colonnes sont masquées ou affichées (effet bascule) à la sélection des onglets nommés autrement que TEST1,...

Remarque : on peut aussi programmer cela feuille par feuille le tout est de savoir quand masquer, afficher.
 
Dernière édition:
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…