Checher un nom de fichier dans un répertoire

Bonjour,

Je ne sais pas si c'est possible, Excel étant quand même un outil puissant ....

Un répertoire nommé 2015 est subdivisé en 12 sous-répertoires de Janvier à Décembre.

Dans chaque sous-répertoire sont enregistrés chaque mois 4 fichier différents sous format *.csv.

Je suis en train de créer une macro qui met en forme ces fichiers (tout bétement suppression de colonne, mise en forme etc) parce que chauque mois cette mise en forme est identique.

Mais ce que je voudrais faire c'est dans ma macro pouvoir "appeler" les fichiers les uns après les autres pour les mettre en forme et ensuite les enregistrer sous format *.xls.

Pour aller chercher le répertoire pas de problème, j'utilise ce genre de code en ayant défini auparavant les variante Num_Annee représentant le 2015 et Repert le mois voulu.

ChDir "O:\CM-PROC\DOCAPOST_LA_POSTE\Synthése et ventilation Docapost\" & Num_Annee & "\" & Repert & ""

Mais ensuite est-il possible de sélectionner dans une liste les 4 fichiers présent dans le répertoire en format *.csv ?

merci de vos réponses.

Bonjour Filou, bonjour le forum,

Peut-être comme ça :

Sub Macro1()
Dim SF As Object
Dim D As Object
Dim EF As Object
Dim F As Object

Set SF = CreateObject("Scripting.FileSystemObject")
Set D = SF.GetFolder("O:\CM-PROC\DOCAPOST_LA_POSTE\Synthése et ventilation Docapost\" & Num_Annee & "\" & Repert & "\")
Set ES = D.Files
For Each F In ES
    If UCase(Right(F.Name, 4)) = ".CSV" Then Workbooks.Open (F.Name)
    'ton code mise en forme
Next F
End Sub

Merci ....

Mais cela ne fonctionne pas....rien ne s"ouvre.....

Bonsoir Filou, bonsoir le forum,

Remplace la ligne :

If UCase(Right(F.Name, 4)) = ".XLS" Then Workbooks.Open (F.Name)

par :

If UCase(Right(F.Name, 4)) = ".XLS" Then Workbooks.Open F

J'ai testé sur mon PC ça marche...

Et aussi, as-tu défini au préalablement les variables Num_Annee et Repert ? Comme tu n'avais pas mis le code qui le faisait je n'ai pas pu l'intégrer dans la proposition faite...

salut

Sub BoucleFichiers()
    Dim Chemin As String, Fichier As String

    'Définit le répertoire contenant les fichiers
    Chemin = "C:\dossier\"

    'Boucle sur tous les fichiers xls du répertoire.
    Fichier = Dir(Chemin & "*.xls")
    'Utilisez la syntaxe suivante pour boucler sur tous les types de fichiers:
    'Fichier = Dir(Chemin & "*.*")

    Do While Len(Fichier) > 0
        'écrit le résultat dans la fenêtre d'exécution (Ctrl+G).
        Debug.Print Chemin & Fichier
        Fichier = Dir()
    Loop
End Sub

Génialissime !!!

Ca fonctionne parfaitement !!!

merci

Rechercher des sujets similaires à "checher nom fichier repertoire"