Macro Excel / Masquer et démasquer dynamiquement colonnes
Résolu
Absolu0
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Absolu0 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Absolu0 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je débute en programmation VBA et je rencontre pour l'une de mes macros excel un petit soucis.
Voici une image de mon tableur en exemple:

Nous avons:
ligne 1 --> année
Ligne 2--> date du lundi de chaque semaine
Ligne 3 --> n° de la semaine en relation avec la ligne 2
Le fichier contient deja ces infos de la semaine 1-2020 jusque semaine 53-2022. Les données sont masquées selon la configuration "Semaine actuelle (rouge) moins 2 jusque semaine actuelle plus 12 (orange)." (les couleurs sont des mises en formes conditionnelles et donc dynamisées)
Cette configuration doit être conservée et chaque semaine je dois masquer une des semaines précédentes et démasquer une semaine suivante. Donc en semaine 18, je masque U et je démasque AJ et ainsi de suite.
Je souhaite m'épargner de le faire manuellement et je veux une macro qui me permette d'un simple click d'actualiser les semaines dans la configuration voulue.
C'est ici le dynamisme qui me pose problème. Auriez-vous une idée?
Merci par avance.
je débute en programmation VBA et je rencontre pour l'une de mes macros excel un petit soucis.
Voici une image de mon tableur en exemple:
Nous avons:
ligne 1 --> année
Ligne 2--> date du lundi de chaque semaine
Ligne 3 --> n° de la semaine en relation avec la ligne 2
Le fichier contient deja ces infos de la semaine 1-2020 jusque semaine 53-2022. Les données sont masquées selon la configuration "Semaine actuelle (rouge) moins 2 jusque semaine actuelle plus 12 (orange)." (les couleurs sont des mises en formes conditionnelles et donc dynamisées)
Cette configuration doit être conservée et chaque semaine je dois masquer une des semaines précédentes et démasquer une semaine suivante. Donc en semaine 18, je masque U et je démasque AJ et ainsi de suite.
Je souhaite m'épargner de le faire manuellement et je veux une macro qui me permette d'un simple click d'actualiser les semaines dans la configuration voulue.
C'est ici le dynamisme qui me pose problème. Auriez-vous une idée?
Merci par avance.
A voir également:
- Masquer colonne vba
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Colonne word - Guide
- Formule somme excel colonne - Guide
- Masquer conversation whatsapp - Guide
2 réponses
Bonjour,
Faire Alt F11 sur la feuille concernée pour accéder à l'éditeur
coller ce code dans le module de la feuille.
Il se déclenchera au double clic sur la ligne 3 et sur la colonne concernée
Avec les commentaires, adapter pour coller au mieux. j'ai fait de l'a peu près n'ayant qu'une image:
Faire Alt F11 sur la feuille concernée pour accéder à l'éditeur
coller ce code dans le module de la feuille.
Il se déclenchera au double clic sur la ligne 3 et sur la colonne concernée
Avec les commentaires, adapter pour coller au mieux. j'ai fait de l'a peu près n'ayant qu'une image:
Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim macolonne As String Dim dercolonne As String Dim avantcolonne As String If Not Application.Intersect(Target, Rows(3)) Is Nothing Then 'ligne 3 macolonne = Col2Let(Target.Column) avantcolonne = Col2Let(Target.Column - 2) '2 colonnes avant dercolonne = Col2Let(Target.Column + 12) '12 colonnes après Columns(macolonne & ":" & dercolonne).Select 'affiche jusqu'a 12 colonnes Selection.EntireColumn.Hidden = False Columns("G:" & avantcolonne).Select 'masque colonne G jusque 2 colonnes avant Selection.EntireColumn.Hidden = True End If End Sub Public Function Col2Let(ByVal numCol As Long) As String Col2Let = Split(Cells(, numCol).Address, "$")(1) '$A$1 End Function
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, peux-tu montrer le code de la macro, sans le dynamisme?
cela nous aidera à te guider dans l'ajout du dynamisme.
cela nous aidera à te guider dans l'ajout du dynamisme.
Cordialement,
Loic