Liste de validation par macro

JoeGillian

XLDnaute Nouveau
Bonjour ,

J'ai un export excel qui contient du temps de travail prévu et du temps de travail consommé pour chaque mois. A chaque mois correspond une colonne. Les exports vont être réalisés à des mois différents : par conséquent les mois de temps de travail consommé vont aller croissant , tout comme les colonnes correspondantes.
Ma question est :peut-on choisir via VBA les mois qui vont sortir( on aura donc créé une liste de janvier à Décembre) et créer les colonnes qui vont avec via une liste avec des cases à cocher?


Merci pour vos réponses
 

Pièces jointes

  • ClasseurXLDownload2.xlsm
    24.5 KB · Affichages: 49
  • ClasseurXLDownload2.xlsm
    24.5 KB · Affichages: 53
  • ClasseurXLDownload2.xlsm
    24.5 KB · Affichages: 49

smotty

XLDnaute Occasionnel
Re : Liste de validation par macro

Re bonjour JoeGillian,

Je ne suis pas sûr d'avoir tout compris, mais dans le doute, voici un code qui permet d'afficher le mois qu'on veut dans ton fichier.

Code:
Sub Afficher(ByVal mois As String)


    Dim cell As Range
    Dim v As Variant
    
    For Each cell In Rows(1).Cells
        v = cell.Value
        If v = "" Then Exit Sub
        If IsDate(v) Then
        
            If MonthName(Month(v)) = mois Then cell.EntireColumn.Hidden = False Else cell.EntireColumn.Hidden = True
        End If
        
    Next cell
End Sub

Sub AppelProcedure()
    Afficher ("avril")
End Sub

ça masque les mois qui ne sont pas demandés.

ça fonctionne sur ton fichier, reste à déterminer l'endroit où mettre la liste des mois (dans le menu, un userform, etc...)

Une idée avec une liste des mois dans une cellule:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        If Target.Value <> "" Then Afficher (Target.Value)
    End If
End Sub

A+

smotty
 
Dernière édition:

Discussions similaires

Réponses
12
Affichages
284

Statistiques des forums

Discussions
312 490
Messages
2 088 875
Membres
103 980
dernier inscrit
grandmasterflash38