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

Masquer des colonnes

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

Constantin

XLDnaute Occasionnel
Supporter XLD
Bonjour,

Dans une feuille, je souhaite trier dans la colonne F (masquée) les cellules qui contiennent un "x". Parallèlement, je veux masquer les colonnes C et D. J'ai réalisé une petite macro à partir de l'enregistreur, le problème c'est que quand je lance ma macro, tout se masque ou presque.
Est-ce du au fait de la présence de la cellule commentaire (fusionnée)? Le problème c'est que je ne peux pas supprimer ou défusionner cette cellule. Le fichier joint n'est pas mon fichier d'origine, je l'ai réalisé pour mieux expliciter mon propos.

Si vous pouvez m'aider, je suis preneur (comme vous vous en doutez, mon niveau en matière de programmation n'est pas très élevé)

Bien cordialement,

Pierre Constantin
 

Pièces jointes

Solution
Bonjour Constantin, JM,
VB:
Sub Masquer1()
ActiveSheet.Protect UserInterfaceOnly:=True, AllowFiltering:=True
ActiveSheet.AutoFilterMode = False
Range("F1:F184").AutoFilter 1, "<>"
Range("C:D,F:F").EntireColumn.Hidden = True
End Sub

Sub Afficher1()
ActiveSheet.Protect UserInterfaceOnly:=True
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
End Sub
Re

Si j'ai bien compris le but recherché, essaie la macro ci-dessous
VB:
Sub Macro4()
ActiveSheet.Range("$A$1:$F$11").AutoFilter Field:=6, Criteria1:="<>"
Range("C:D,F:F").EntireColumn.Hidden = True
End Sub
 
Bonjour JM,
Ta macro fonctionne, comme d'habitude, très bien.
J'ai donc essayé de la transposer dans mon fichier de travail (2019_04_05_GRILLE_RAPPORT_CompilationEssai.xlsm (feuille 6-Conclusion initiale).
Cette feuille étant protégée (sans mot de passe) j'ai rajouté l'instruction unprotect pour pouvoir autoriser la macro à fonctionner.
Je ne sais pas comment je m'y suis pris, mais ça buggue à ActiveSheet.range (la méthode range a échoué...) dans la macro Masquer1.
C'est dur d'être si nul ! Mais là, je ne comprends pas ce qui bloque. Si tu as une idée ?

Bien cordialement,

Pierre
 

Pièces jointes

Bonjour Constantin, JM,
VB:
Sub Masquer1()
ActiveSheet.Protect UserInterfaceOnly:=True, AllowFiltering:=True
ActiveSheet.AutoFilterMode = False
Range("F1:F184").AutoFilter 1, "<>"
Range("C:D,F:F").EntireColumn.Hidden = True
End Sub

Sub Afficher1()
ActiveSheet.Protect UserInterfaceOnly:=True
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
End Sub
 
Merci de votre réponse Job75,

C'est absolument parfait (comme d'habitude) !

Bonne journée !

Pierre Constantin
 
- 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
2
Affichages
531
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…