Afficher/Masquer des lignes entière

Résolu/Fermé
DidsCraft Messages postés 30 Date d'inscription jeudi 7 juin 2018 Statut Membre Dernière intervention 3 mai 2024 - Modifié le 29 août 2020 à 17:00
DidsCraft Messages postés 30 Date d'inscription jeudi 7 juin 2018 Statut Membre Dernière intervention 3 mai 2024 - 30 août 2020 à 13:52
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
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

4 réponses

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
30 août 2020 à 07:29
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
0
DidsCraft Messages postés 30 Date d'inscription jeudi 7 juin 2018 Statut Membre Dernière intervention 3 mai 2024 1
Modifié le 30 août 2020 à 10:23
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)
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
30 août 2020 à 10:30
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
0
DidsCraft Messages postés 30 Date d'inscription jeudi 7 juin 2018 Statut Membre Dernière intervention 3 mai 2024 1
30 août 2020 à 11:08
J’avais essayé, mais pas depuis que j’ai sélectionné la cellule du 1er jour du mois du coup je vais retenter tout à l’heure.
Je pense qu’à force de pas trouver je n’arrivais plus à réfléchir ????.
Je vous tiens au courant, merci
0
DidsCraft Messages postés 30 Date d'inscription jeudi 7 juin 2018 Statut Membre Dernière intervention 3 mai 2024 1
30 août 2020 à 13:52
C'est bon ça fonctionne bien, ça tenait à rien.
Encore merci
0