XL 2013 Masquer colonnes inutiles [Résolu]

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

chajmi

XLDnaute Occasionnel
Bonjour

J'ai un planning horizontal sur une année complète.
Afin de pouvoir l'imprimer pour chaque mois, je voudrais masquer des colonnes automatiquement :

1/ Soit garder toutes les colonnes du mois
2/ Soit garder uniquement les colonnes que j'aurais cochées auparavant (par une croix en ligne 5), ce qui me permettrait d'imprimer des plannings à cheval sur 2 mois

Merci à celui qui pourra m'aider.

mon fichier en modèle
 

Pièces jointes

Bonjour le forum

Une macro pour répondre au 1/
VB:
Sub test()
Dim cell As Range
Dim Mois As Long
Mois = 1 'numéro du mois à ne pas masquer
For Each cell In Range("D6:BR6")
If Not Month(cell.Value2) = Mois Then
cell.Columns.Hidden = True
End If
Next cell
End Sub
 
Bonjour
ça fonctionne, mais pour changer de mois, je suis obliger de changer le numéro dans le code.
Comment faire pour que je puisse changer le mois dans une cellule A2
Merci
En modifiant comme dans cette macro.
VB:
Sub testV2()
Dim cell As Range
Dim Mois AsLong
Mois = Month(Range("A2")) ' si en A2 il y a une date
'ou
Mois=Range("A2") 'si en A2, il y un nombre de 1 à 12
ForEach cell In Range("D6:BR6")
IfNot Month(cell.Value2) = Mois Then
cell.Columns.Hidden = True
EndIf
Next cell
EndSub
 
Sub testV2()
Dim cell As Range
Dim Mois As Long
Mois = Range("A2") 'si en A2, il y un nombre de 1 à 12
For Each cell In Range("D6:NE6")
If Not Month(cell.Value2) = Mois Then
cell.Columns.Hidden = True
End If
Next cell
End Sub

Ce code n'a fonctionné que 2 fois, ensuite j'ai le message :
Erreur d'exécution '1004' :
Impossible de définir la propriété Hidden de la classe Range
 
J'ai trouvé ce code là, qui marche bien avec les lignes :

Sub Macro1()
'
For i = 1 To Range("PlagesDonnées").Rows.Count
If Range("c" & i) = 0 And Range("d" & i) = 0 Then


Rows(i).Select

Selection.EntireRow.Hidden = True
End If
Next

End Sub



Est ce que quelqu'un peut me le transformer pour masquer des colonnes ?
Je butte sur le code en rouge, dont je ne comprends pas la signification.

merci d'avance
 
Je viens de tester testV2
avec en A2 le chiffre 2 et avec uniquement des dates valides dans les cellules parcourues dans la boucle
J'ai aucun message d'erreur et seules les colonnes contenant une date dont le mois est égal à 2 ne sont pas masquées.
 
- 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

Retour