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

Ajuster le nombre de lignes sur le nombre de jours dans le mois

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 !

Magic_Doctor

XLDnaute Barbatruc
Supporter XLD
Bonjour,

J'essaie d'ajuster le nombre de lignes sur le nombre de jours dans le mois automatiquement par une macro déclenchée par un ComboBox. En fait, quand on choisit un mois de moins de 31 jours, les lignes correspondant au mois suivant sont occultées.
Ça ne marche que lorsque l'on passe à un mois qui a moins de jours que le précédent.
Et je ne comprends pas pourquoi.

Merci pour toute suggestion.
 

Pièces jointes

Re : Ajuster le nombre de lignes sur le nombre de jours dans le mois

Buenas dias MagicDoctor 🙂,
J'ai pas vraiment bien trouvé pourquoi ça ne marche pas, mais avec ce code, ça fonctionne
Code:
Private Sub ComboBox1_Change()
'Ajuste le nombre de lignes sur le nombre de jours dans le mois
Application.ScreenUpdating = False
Dim I As Integer
On Error Resume Next
For I = 5 To [NbJoursMois].Value + 5
If Rows(I).EntireRow.Hidden = True Then
Rows(I).EntireRow.Hidden = False
End If
Next I
For I = [NbJoursMois].Value + 5 To 36
If Rows(I).EntireRow.Hidden = False Then
Rows(I).EntireRow.Hidden = True
End If
Next I
On Error GoTo 0
[CR3].Select
Application.ScreenUpdating = True
End Sub
Buenas tardes 😎
 
Re : Ajuster le nombre de lignes sur le nombre de jours dans le mois

Bonjour Magic Doctor, JNP, CB60,

Il y avait 2 problèmes (en rouge dans la macro) :

1) Le fait de commander l'affichage des lignes définissant la ListFillRange de la ComBoBox (lignes 8 à 19) perturbe la macro (elle se relance même avec EnableEvents = False)

2) Pour le masquage, la dernière ligne doit être celle située en dessous de [CellFinal].

Code:
Private Sub ComboBox1_Change()
'Ajuste le nombre de lignes sur le nombre de jours dans le mois
Application.ScreenUpdating = False
Rows([CellPrincipio].Row [COLOR="Red"]+ 28[/COLOR] & ":" & [CellFinal].Row).Hidden = False
Rows([CellPrincipio].Row + [NbJoursMois] & ":" & [CellFinal].Row [COLOR="Red"]+ 1[/COLOR]).Hidden = True
[CR3].Select
End Sub

On peut aussi écrire :

Code:
Private Sub ComboBox1_Change()
'Ajuste le nombre de lignes sur le nombre de jours dans le mois
Application.ScreenUpdating = False
Range([CellPrincipio][COLOR="Red"].Offset(28)[/COLOR], [CellFinal]).EntireRow.Hidden = False
Range([CellPrincipio].Offset([NbJoursMois]), [CellFinal][COLOR="Red"].Offset(1)[/COLOR]).EntireRow.Hidden = True
[CR3].Select
End Sub

A+
 
Re : Ajuster le nombre de lignes sur le nombre de jours dans le mois

Rebonjour à tous et surtout merci d'avoir résolu ce mystérieux problème (il faut avouer que c'est très curieux et très ennervant...) de différentes manières.

Je retiendrai la solution de JNP car d'une part l'occultage ou le désoccultage des lignes doit se faire par macro (qui fera aussi d'autres choses) et, pour des raisons disons esthétiques, je tenais absolument que les lignes devenues inutiles soient occultées.
Dans la routine de JNP je n'y ai fait que quelques modifications mineures, à savoir :
1/ faire en sorte que la ligne immédiatement au-dessous de la dernière du tableau soit toujours visible ;
2/ les références des lignes font appel à des cellules nommées, évitant ainsi, si l'on rajoute ou supprime des lignes ou des colonnes dans le tableau, de devoir constamment revoir la macro.

Otra vez, muchas gracias y feliz día (aquí niebloso).
 

Pièces jointes

- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…