Combobox récupération d'une partie du nom d'un fichier en fonction d'1 critère et tri

  • Initiateur de la discussion Initiateur de la discussion brigadero
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

brigadero

XLDnaute Junior
Bonjour,

Mon problème est le suivant:
J'ai dans mon dossier "Courbes de prix" une liste de fichiers sous le format "yyyymmdd Price DTB.xls", ex d'aujourd'hui: "20110309 Price DTB.xls".
Ce que je souhaite c'est que dans mon combobox j'affiche seulement la liste des dates tel que "20110309" et que cette liste soit dans l'ordre décroissant, le premier de la liste étant donc la date d'aujourd'hui.

Voici le code que j'ai actuellement et qui me permet de récupérer le nom des fichiers au complet (avec le Price DTB.xls) et NON TRIES.

Private Sub UserForm_Initialize()

Dim Fichier As String, leNom As String, Chemin As String
Dim Un As New Collection
Dim i As Integer

Chemin = "n:\Prix\Courbes de prix\"

Fichier = Dir(Chemin & "*.xls")

Do While Fichier <> ""

If Fichier <> ThisWorkbook.Name Then
leNom = Fichier
On Error Resume Next
Un.Add leNom, leNom
End If

Fichier = Dir

Loop
On Error GoTo 0


For i = 1 To Un.Count
ComboBox1.AddItem Un(i)
Next i


End Sub


Merci d'avance pour votre aide.

Brigadero
 

Pièces jointes

Re: Combobox récupération d'une partie du nom d'un fichier en fonction d'1 critère et

Bonjour,

En pièce jointe une possibilité sans Collection et avec une procédures QuickSort.

La combobox a 2 colonnes dont la première est cachée et qui contient le nom complet des fichier. La seconde contiendra la date.

A+
 
Re : Combobox récupération d'une partie du nom d'un fichier en fonction d'1 critère e

Bonjour Brigadero, Hasco, Bernard, bonjour le forum,

Bien à a bourre mais tant pis voici ma proposition :
Code:
Private Sub UserForm_Initialize()
Dim chemin As String
Dim lenom As String
Dim fs, f, Fichier, fc, s
Dim Un As New Collection
Dim i As Integer, j As Integer
Dim temp As String
 
Chemin = "n:\Prix\Courbes de prix\"
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(chemin)
Set fc = f.Files
For Each Fichier In fc
    lenom = Left(Fichier.Name, 8)
    If Fichier.Name <> ThisWorkbook.Name Then
        On Error Resume Next
        Un.Add lenom, lenom
    End If
Next
On Error GoTo 0
For i = 1 To Un.Count
ComboBox1.AddItem Un(i)
Next i
With Me.ComboBox1
For i = 0 To .ListCount - 1
    For j = 0 To .ListCount - 1
        If .List(i) > .List(j) Then
            temp = .List(i)
            .List(i) = .List(j)
            .List(j) = temp
        End If
    Next j
Next i
End With
End Sub
 
Re : Combobox récupération d'une partie du nom d'un fichier en fonction d'1 critère e

Merci beaucoup à vous! C'est vraiment bien ce forum.
Vous trois réponses sont très bien mais je crois que je vais garder celle de Robert, qui est la moins compliquée!

A bientôt.

brigadero
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
11
Affichages
2 K
Retour