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

Microsoft 365 Masquer des colonnes aux cellules avec valeurs données selon sélection d'une liste déroulante

PatFr38

XLDnaute Nouveau
Bonjour, à toutes et à tous.

Mon problème du jour est de réussir, après sélection d'un choix dans une liste déroulante, à masquer des colonnes dont les cellules d'une ligne commune à ces colonnes contiennent certaines valeurs.

Explications de l'objectif : dans mon fichier d'exemple joint, j'aimerais que lorsqu'on sélectionne le mois de "Février" dans la liste déroulante en cellule A4, l'onglet actif Programme soit déprotégé, puis toutes les colonnes, dont les cellules de la ligne 4 contiennent la valeur "xx.12" ou "xx.01" ("xx" sont évidemment les différents jours du mois), soient masquées, et, pour finir, que l'onglet actif soit protégé à nouveau.

Mon problème est bien de masquer les colonnes en fonction des valeurs contenues, et non des colonnes consécutives d'une plage "fixe" définie. A noter que j'ai déjà réussi à faire un code VBA qui permet de masquer toutes la plage fixe de la colonne D à la colonne AN, mais que cette solution n'est pas adéquate, puisque c'est en fait une plage variable selon l'année affichée en cellule B4 (par exemple, en 2023, la première semaine affichée est la "S52", et en 2024, la première semaine affichée est la "S01" et il n'y a pas de colonnes avec la valeur "xx.12" de la fin du mois de décembre de la fin d'année précédente). Ce problème se pose parce que ce fichier a pour but de servir de modèle pour plusieurs années à venir.

Merci d'avance pour votre précieuse aide.​

Bonne journée. A bientôt.
 

Pièces jointes

  • Exemple.xlsm
    43.9 KB · Affichages: 8
Solution

Bonjour à tous,

Peut-être quelque chose comme en Pj, sans masquer, juste déplacer
La feuille est protégée à l'ouverture du classeur avec "UserinterfaceOnly" à true
Plus besoin de déprotéger la feuille , les codes via Vba sont exécutés
Les volets sont figés (d6)

PatFr38

XLDnaute Nouveau
Il semble que je doive apporter une précision, alors que je pensais avoir été assez clair... Non, l'objectif n'est pas de masquer les colonnes du mois sélectionné (Février, ce qui, effectivement, n'aurait aucun intérêt), mais celles du mois précédent celui sélectionné (la dernière semaine de décembre S52 et tout le mois de janvier dans le cas cité de l'année 2023).

A+.
 

PatFr38

XLDnaute Nouveau
Autre précision sur l'objectif à atteindre : en fait, il faudrait faire en sorte que, lorsqu'on sélectionne un mois dans la liste déroulante, la colonne du premier jour du mois sélectionné (dans le cas cité, le 1er février, avec donc la valeur "01.02") se retrouve attenante/accolée à la colonne C.
 

Jacky67

XLDnaute Barbatruc

Bonjour à tous,

Peut-être quelque chose comme en Pj, sans masquer, juste déplacer
La feuille est protégée à l'ouverture du classeur avec "UserinterfaceOnly" à true
Plus besoin de déprotéger la feuille , les codes via Vba sont exécutés
Les volets sont figés (d6)
 

Pièces jointes

  • Exemple_mois.xlsm
    54.6 KB · Affichages: 16
Dernière édition:

Discussions similaires

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