Microsoft 365 Masquer / afficher colonnes avec VBA

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

Emile63

XLDnaute Junior
Bonjour a tous,

Avec la macro suivante je masque un certain nombre de colonnes (dans le but de cacher un tableau), puis je souhaite démasquer que la colonne que je veux visualiser.
Le problème c'est que la fin de mon code ne fonctionne pas du tout... 😳 et la colonne souhaitée ne s'affiche pas.
- Est-ce que quelqu'un peut me mettre sur la bonne voie ?

Sub Masquercolonne()
Columns("L:AC").EntireColumn.Hidden = True
NumColonne = [CodeRégion] + 11
ActiveSheet.Columns(NumColonne).EntireColumn.Hidden = True
End Sub

Merci d'avance pour votre aide,
Cordialement.
 
Bonsoir le fil

Un petit complément (une macro deux en une)
VB:
Sub MasquerAfficher()
Dim NumColonne As Long
NumColonne = 5
With ActiveSheet
.Columns(NumColonne).EntireColumn.Hidden = Not .Columns(NumColonne).EntireColumn.Hidden
End With
End Sub
La première exécution de la macro masque la colonne.
La seconde exécution de la macro démasque la colonne.

NB: A adapter par rapport au 1er code (cf [CodeRegion] + 11 )
 
Bonsoir le fil

Un petit complément (une macro deux en une)
VB:
Sub MasquerAfficher()
Dim NumColonne As Long
NumColonne = 5
With ActiveSheet
.Columns(NumColonne).EntireColumn.Hidden = Not .Columns(NumColonne).EntireColumn.Hidden
End With
End Sub
La première exécution de la macro masque la colonne.
La seconde exécution de la macro démasque la colonne.

NB: A adapter par rapport au 1er code (cf [CodeRegion] + 11 )


Bonjour,
Concernant la macro ci-dessus, comment indiquer qu'il faut masquer plusieurs colonnes 5;6;7;8;9... ???
Merci pour votre réponse
 
Bonsoir,
En autres plusieurs possibilités, par ex pour masquer les colonnes BDFH :
VB:
Sub Essai1()
Col = Array(2, 4, 6, 8)
For C = 0 To UBound(Col)
    ActiveSheet.Columns(Col(C)).EntireColumn.Hidden = True
Next C
End Sub
Sub Essai2()
    ActiveSheet.Range("B:B,D:D,F:F,H:H").EntireColumn.Hidden = True
End Sub
Sub Essai3()
Union([B1], [D1], [F1], [H1]).EntireColumn.Hidden = True
End Sub
Sub Essai4()
Union(Cells(1, 2), Cells(1, 4), Cells(1, 6), Cells(1, 8)).EntireColumn.Hidden = True
End Sub
 
- 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
4
Affichages
423
Retour