help:Cherche comment synchroniser une liste deroulante ainsi qu' une list box

kettou

XLDnaute Junior
Bonjour à tous,
voila ca fait deux jours que je veux créer une macro qui prend le mois selectionner d'une liste déroulante sous excel et qui affiche les fichier associer a ce mois ci sur la liste box ex: je choisis février dans ma liste déroulante et je veux que ca m affiche la liste des fichier (qui se trouve dans un repertoire nommé ) qui finisse par 02
voici mon code il fonctionne mais il m'affiche tous les fichier du repertoire mais pas seulement de la date selectionné

Private Sub Worksheet_Activate()
Dim F
Dim indice, mois As String

Dim LongFilename As String
With Application.FileSearch
.NewSearch
.LookIn = "Y:\01_commun\Equipe\Jean-Louis\Etude Masse Salariale"
.Execute
On Error Resume Next
For Each F In .FoundFiles
LongFilename = F
G = ShortFilename(LongFilename)

indice = Right(NameSansExtension, 5)

mois = Mid(Range("D3").Value, 4, 2)

If mois = indice Then Me.List_ADV.AddItem NameSansExtension


Next F
End With
Debug.Print NameSansExtension
ThisWorkbook.Worksheets(1).Show
End Sub

Cordialment
 

youky(BJ)

XLDnaute Barbatruc
Re : help:Cherche comment synchroniser une liste deroulante ainsi qu' une list box

Salut Kettou,
Si je me suis pas trompé chez moi ca marche
Bien verifer que la ligne
mois = Mid(Range("D3").Value, 4, 2)
renvoie bien soit "01""02""03"04"05"06.....07 08 ...

Code:
Dim F, fichier
Dim indice As String
Dim mois As String
Dim LongFilename As String
With Application.FileSearch
.NewSearch
.LookIn = "Y:\01_commun\Equipe\Jean-Louis\Etude Masse Salariale"
.Execute
On Error Resume Next
For Each F In .FoundFiles
mois = Mid(Range("D3").Value, 4, 2)
indice = Mid(F, Len(F) - 5, 2)
If mois = indice Then
fichier = Mid(F, 53, Len(F) - 4)
fichier = Left(fichier, Len(fichier) - 4)
Me.List_ADV.AddItem fichier
End If
Next F
End With
ThisWorkbook.Worksheets(1).Select
 

kettou

XLDnaute Junior
Re : help:Cherche comment synchroniser une liste deroulante ainsi qu' une list box

Salut Kettou,
Si je me suis pas trompé chez moi ca marche
Bien verifer que la ligne
mois = Mid(Range("D3").Value, 4, 2)
renvoie bien soit "01""02""03"04"05"06.....07 08 ...

Code:
Dim F, fichier
Dim indice As String
Dim mois As String
Dim LongFilename As String
With Application.FileSearch
.NewSearch
.LookIn = "Y:\01_commun\Equipe\Jean-Louis\Etude Masse Salariale"
.Execute
On Error Resume Next
For Each F In .FoundFiles
mois = Mid(Range("D3").Value, 4, 2)
indice = Mid(F, Len(F) - 5, 2)
If mois = indice Then
fichier = Mid(F, 53, Len(F) - 4)
fichier = Left(fichier, Len(fichier) - 4)
Me.List_ADV.AddItem fichier
End If
Next F
End With
ThisWorkbook.Worksheets(1).Select


oui exact!!!!

mais les modif que vous avez fait ne marche pas!!!
 
Dernière édition:

youky(BJ)

XLDnaute Barbatruc
Re : help:Cherche comment synchroniser une liste deroulante ainsi qu' une list box

re:
Dans la fenêtre Exécution que renvoie cette ligne
? Mid(Range("D3").Value, 4, 2)
tu copies en entier et colle en fenêtre execution et presse enter et dit moi!!
je pense que cela renvoie soit 01 02 03 04 ......et +
si ce n'est pas le cas c'est là qu'il faut fouiner...
a+
 

kettou

XLDnaute Junior
Re : help:Cherche comment synchroniser une liste deroulante ainsi qu' une list box

re,
g essayé votre macro avec un debug.print et ca marche impecc mais le probléme est que dans la liste box les noms des fichiers restent et ne changent pas
merci
 

kettou

XLDnaute Junior
Re : help:Cherche comment synchroniser une liste deroulante ainsi qu' une list box

re:
Dans la fenêtre Exécution que renvoie cette ligne
? Mid(Range("D3").Value, 4, 2)
tu copies en entier et colle en fenêtre execution et presse enter et dit moi!!
je pense que cela renvoie soit 01 02 03 04 ......et +
si ce n'est pas le cas c'est là qu'il faut fouiner...
a+
cela renvois bien 01 02
 

youky(BJ)

XLDnaute Barbatruc
Re : help:Cherche comment synchroniser une liste deroulante ainsi qu' une list box

re:
juste en dessous des DIM rajoute cette ligne pour effacer l'ancienne liste
Me.List_ADV.Clear
et pendant que tu y es enlève cette ligne qui sert plus
Dim LongFilename As String
 

kettou

XLDnaute Junior
Re : help:Cherche comment synchroniser une liste deroulante ainsi qu' une list box

je me rexplique
la macro que vous m avez filer fonctionnne normalement dans la fenetre d'execution de vba mais le probléme c'est que elle ne met pas a jour la liste box
j'espere avoir été clair
 

kettou

XLDnaute Junior
Re : help:Cherche comment synchroniser une liste deroulante ainsi qu' une list box

un leger mieux cette fois ci mais le seul souci il faut recompiler le code a chaque fois qu'il faut actualiser la liste. il n'y pas moyen de l actualiser automatique a chaque fois ou on change de date dans le menu cad la feuille 1?
Merci pour votre aide
 

youky(BJ)

XLDnaute Barbatruc
Re : help:Cherche comment synchroniser une liste deroulante ainsi qu' une list box

As tu créés un UserForm avec une listbox nommée List_ADV
si c'est pas le cas, cette listbox doit être sur une feuille
si tu as créé cette listbox sur une feuille et là nommée List_ADV
au lieu de: Me.List_ADV.AddItem fichier
sheets("nom de l'onglet").List_ADV.Additem fichier
en remplacant nom de l'onglet par le vrai nom
 

kettou

XLDnaute Junior
Re : help:Cherche comment synchroniser une liste deroulante ainsi qu' une list box

As tu créés un UserForm avec une listbox nommée List_ADV
si c'est pas le cas, cette listbox doit être sur une feuille
si tu as créé cette listbox sur une feuille et là nommée List_ADV
au lieu de: Me.List_ADV.AddItem fichier
sheets("nom de l'onglet").List_ADV.Additem fichier
en remplacant nom de l'onglet par le vrai nom


en fait ma liste deroulante ainsi que ma liste box sont sur une feuille excel qui est mon menu en d autre terme.
je pense il faut créer la macro à l'intérieur de la liste deroulante de la date a fin que ca se declenche au moment ou on change de date.
c'est possible ca??
 

youky(BJ)

XLDnaute Barbatruc
Re : help:Cherche comment synchroniser une liste deroulante ainsi qu' une list box

Je viens de faire un fichier
Teste le...
J'ai mis Feuil1.List_ADV Feuil1 est le codename de l'onglet
tu le vois à gauche Feuil1 ("Feuil1") ou Feuil1("NomOnglet")
aussi a Feuil1.List_ADV.clear
 

Pièces jointes

  • youky.xls
    29 KB · Affichages: 68
  • youky.xls
    29 KB · Affichages: 70
  • youky.xls
    29 KB · Affichages: 68

kettou

XLDnaute Junior
Re : help:Cherche comment synchroniser une liste deroulante ainsi qu' une list box

Je viens de faire un fichier
Teste le...
J'ai mis Feuil1.List_ADV Feuil1 est le codename de l'onglet
tu le vois à gauche Feuil1 ("Feuil1") ou Feuil1("NomOnglet")
aussi a Feuil1.List_ADV.clear
Bah youky je ne sais pas quoi te dire t un boss. ca impecc comme je voulais
je te remerci de m avoir consacrer du temps
Un grand merci
bonne fin de journée
 

Discussions similaires

Réponses
9
Affichages
2 K
Compte Supprimé 979
C
Réponses
0
Affichages
615
F
Réponses
1
Affichages
1 K
michel
M

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 020
dernier inscrit
Mzghal