Bonjour le forum,
J'ai un petit soucis avec ma macro, qui fonctionne, mais je cherche à la simplifier, car je pense qu'en l'état, elle met un peu plus de temps à aboutir. Bon c'est vrai qu'il y a 4028 colonnes ! (Calendrier sur 10 ans )
Je souhaite masquer des colonnes en fonction d'une plage de dates D1 et E1
En mettant 2 fois ' If Cell ', il me semble que cela lui fait 2 passages, donc plus long, (1,5s) mais je souhaiterais l'intégrer dans un worsheet change qui risque de se déclencher souvent Changement des dates en D1 et E1)
Alors comment simplifier le code
Merci pour vos retours
Très cordialement
J'ai un petit soucis avec ma macro, qui fonctionne, mais je cherche à la simplifier, car je pense qu'en l'état, elle met un peu plus de temps à aboutir. Bon c'est vrai qu'il y a 4028 colonnes ! (Calendrier sur 10 ans )
Je souhaite masquer des colonnes en fonction d'une plage de dates D1 et E1
Code:
Sub Masquer()
Application.ScreenUpdating = False
Dim Cel As Range
Cells.EntireColumn.Hidden = False
For Each Cel In Range("J2:EXX2")
If Cel < Range("D1").Value Then Cel.Columns.Hidden = True
If Cel > Range("E1").Value Then Cel.Columns.Hidden = True
Next Cel
Application.ScreenUpdating = True
End Sub
En mettant 2 fois ' If Cell ', il me semble que cela lui fait 2 passages, donc plus long, (1,5s) mais je souhaiterais l'intégrer dans un worsheet change qui risque de se déclencher souvent Changement des dates en D1 et E1)
Alors comment simplifier le code
Code:
If Cel < Range("D1").Value Then Cel.Columns.Hidden = True
If Cel > Range("E1").Value Then Cel.Columns.Hidden = True
Merci pour vos retours
Très cordialement
Dernière édition: