Afficher/Masquer des lignes entière
Résolu
DidsCraft
Messages postés
30
Date d'inscription
Statut
Membre
Dernière intervention
-
DidsCraft Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
DidsCraft Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je bloque sur une macro et j'ai beau tourner ca dans tous les sens je ne trouve pas le problème.
J'ai un calendrier/planning automatique avec WE et jours fériés et je souhaite que pour les mois ayant moins de 31 jours, les lignes en trop se masquent puis reviennent pour les mois à 31 jours.
J'avais déjà fait un planning du genre avec les dates horizontales et les noms verticaux.
Et tout fonctionnait.
Pour des raisons pratique je dois inverser sur le nouveau planning (dates verticales) et là...ca coince.
Voici mon code
Mes lignes 40 à 42 contiennent les jours 28, 29, 30, 31.
La Cellule (1, 77) est un panneau déroulant ou on choisi le mois, c'est la cellule BY1 et sur laquelle ma macro est affectée.
En l'état, mes lignes se masquent bien quand je change de mois mais pour tous les mois, même ceux qui ont 30 ou 31 jours, les quatre lignes se masquent.
Donc, même si c'est logique elle ne réapparaissent pas lorsque que je sélectionne un mois à 31jours.
Vu que ca fait deux jours que je me prend la têtes dessus je me dis que c'est peut etre juste un truc tout con que je ne vois plus car trop la tête dedans mais si vous avez besoin de screen ou meme du fichier dites les moi.
Merci
PS :
Je vous rajoute l'ancien code du planning horizontale qui fonctionne très bien.
Je bloque sur une macro et j'ai beau tourner ca dans tous les sens je ne trouve pas le problème.
J'ai un calendrier/planning automatique avec WE et jours fériés et je souhaite que pour les mois ayant moins de 31 jours, les lignes en trop se masquent puis reviennent pour les mois à 31 jours.
J'avais déjà fait un planning du genre avec les dates horizontales et les noms verticaux.
Et tout fonctionnait.
Pour des raisons pratique je dois inverser sur le nouveau planning (dates verticales) et là...ca coince.
Voici mon code
Sub MasquerJour()
Dim NumLine As Long
For NumLine = 39 To 42
If Month(Cells(NumLine, 1)) <> Cells(1, 77) Then
Rows(NumLine).Hidden = True
Else
Rows(NumLine).Hidden = False
End If
Next
End Sub
Mes lignes 40 à 42 contiennent les jours 28, 29, 30, 31.
La Cellule (1, 77) est un panneau déroulant ou on choisi le mois, c'est la cellule BY1 et sur laquelle ma macro est affectée.
En l'état, mes lignes se masquent bien quand je change de mois mais pour tous les mois, même ceux qui ont 30 ou 31 jours, les quatre lignes se masquent.
Donc, même si c'est logique elle ne réapparaissent pas lorsque que je sélectionne un mois à 31jours.
Vu que ca fait deux jours que je me prend la têtes dessus je me dis que c'est peut etre juste un truc tout con que je ne vois plus car trop la tête dedans mais si vous avez besoin de screen ou meme du fichier dites les moi.
Merci
PS :
Je vous rajoute l'ancien code du planning horizontale qui fonctionne très bien.
Sub Masquer_Jour()
Dim NumCol As Long
For NumCol = 30 To 32
If Month(Cells(6, NumCol)) <> Cells(1, 1) Then
Columns(NumCol).Hidden = True
Else
Columns(NumCol).Hidden = False
End If
End Sub
A voir également:
- Afficher/Masquer des lignes entière
- Capture d'écran page entière - Guide
- Partager des photos en ligne - Guide
- Afficher appdata - Guide
- Masquer conversation whatsapp - Guide
- Comment masquer les amis sur facebook - Guide
4 réponses
Bonjour,
J'ai reproduit un pseudo calendrier en fonction de votre code, et cela fonctionne bien, mais je n'ai peut-être pas tous les éléments (Comment est fait votre feuille, comment est sélectionné le mois), peut-être faudrait-il chercher de ce côté là.
Si vous pouviez déposer votre fichier (pas une capture d'écran) sans données confidentielles, on pourrait plus facilement trouver ce qui ne va pas.
Cdlt
J'ai reproduit un pseudo calendrier en fonction de votre code, et cela fonctionne bien, mais je n'ai peut-être pas tous les éléments (Comment est fait votre feuille, comment est sélectionné le mois), peut-être faudrait-il chercher de ce côté là.
Si vous pouviez déposer votre fichier (pas une capture d'écran) sans données confidentielles, on pourrait plus facilement trouver ce qui ne va pas.
Cdlt
Merci pour la réponse
J'ai continué à avancer sur le planning du coup certaines coordonnées ont changées mais c'est tout.
Je vous met le fichier ici :
https://www.cjoint.com/c/JHEil2to50P
Dans le dernière sauvegarde j'ai essayé de prendre comme cellule de comparaison celle du 1er jour du mois mais le problème reste le même. Aussi j'ai rajouter un bouton pour afficher les lignes qui se masquent, plus simple, le temps de régler le problème.
Pour rappel la macro "MasquerJour" est associée au panneau déroulant des années se trouvant en B1 et celui des mois en BY1 (ma zone de valeur que j'aime bien placer sur la meme feuille mais assez loin)
J'ai continué à avancer sur le planning du coup certaines coordonnées ont changées mais c'est tout.
Je vous met le fichier ici :
https://www.cjoint.com/c/JHEil2to50P
Dans le dernière sauvegarde j'ai essayé de prendre comme cellule de comparaison celle du 1er jour du mois mais le problème reste le même. Aussi j'ai rajouter un bouton pour afficher les lignes qui se masquent, plus simple, le temps de régler le problème.
Pour rappel la macro "MasquerJour" est associée au panneau déroulant des années se trouvant en B1 et celui des mois en BY1 (ma zone de valeur que j'aime bien placer sur la meme feuille mais assez loin)
Il faut aussi tester le mois de la cellule pour faire la comparaison: Month(Cells(8, 1)) Then
Sub MasquerJour() Dim NumLine As Long For NumLine = 36 To 38 If Month(Cells(NumLine, 1)) <> Month(Cells(8, 1)) Then Rows(NumLine).Hidden = True Else Rows(NumLine).Hidden = False End If Next End Sub