pour le 2)
l'idée pourrait être :
masquer toutes les colonnes et afficher les colonnes aujourd'hui -15 à aujourd'hui + 180
Reste plus qu'à trouver la colonne "aujourd'hui", et FIND va nous permettre de le faire en renvoyant un objet "RANGE" du coup il sera facile de trouver le numéro de colonne de aujourd'hui - 15 car si on a "aujourd'hui" en RANGE on connaît le numéro de colonne avec .Column
Une fois qu'on a le premier numéro de colonne et le dernier il suffit de sélectionner la zone en ligne 1 et de faire ENTIRECOLUMN.HIDDEN = TRUE
Le tout écrit dans un VBA parfait !
Find fonctionne sur des cellules "visibles" donc le déroulement du code :
on arrête la mise à jour de l'écran pour éviter le "scintillement"
on montre toutes les colonnes
on cherche la colonne aujourd'hui avec FIND
on calcule alors la première et la dernière colonne
on masque toutes les colonnes
on affiche les colonnes de la zone
ou bien on remplace les deux dernières lignes par :
on masque de V à la première colonne -1
on masque de la dernière colonne + 1 à UY
C'est une affaire de goût, pour le choix.
@ bientôt
LouReeD