Ouvrir tout les fichiers qui se trouve dans un dossier

bonjour,

Je cherche à optimiser un fichier excel dans lequel, il faudrait que je puisse lister l'ensemble des fichiers se trouvant dans un dossier, puis d'ouvrir un à un ces fichiers pour copier coller les informations de la plage A1 à J600 sur un onglet bien définit. Après fermer ce classeur et refaire la meme chose avec tout les autres classeurs en copiant en dessous des premières infos

Mon début de code le voici

Sub ListingFichiers()

Dim Rep As String, Fichier As String Dim i As Integer

Rep = "C:\Users\l.guyonnet\Desktop\Perso\COMMANDE\Commandes\"

Fichier = Dir(Rep)

Do While Fichier <> ""

i = i + 1

Sheets("Liste_fichier").Range("A" & i) = Fichier

Fichier = Dir

Loop

End Sub

D'avance merci pour votre aide

Bonjour,

J'ai une première solution, mais il faut être devant le PC et faire quelque clics.

C'est du au fait que lorsque le programme tourne Visual Basic exécute bêtement sans voir un autre fichier s'ouvrir.

Le code :

Sub Test()
Dim objShell, objFolder, strFilename
Dim MonClasseur, Classeur As Workbook
Dim X As Byte

Set MonClasseur = ActiveWorkbook

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("C:\Users\l.guyonnet\Desktop\Perso\COMMANDE\Commandes\")

i = 1
For Each strFilename In objFolder.Items
    If Right(strFilename, 4) = ".xls" Or Right(strFilename, 5) = ".xlsx" Or Right(strFilename, 5) = ".xlsm" Then
        With MonClasseur.Worksheets.Add
            .Name = strFilename
        End With
        objShell.Open (strFilename)
        NomdeFeuille = strFilename

        X = 0
        Do While X = 0
            On Error Resume Next
            X = Len(Workbooks(NomdeFeuille).Name)
        Loop

        Set Classeur = Workbooks(NomdeFeuille)
        Classeur.ActiveSheet.Range("A1:J200").Copy
        MonClasseur.Sheets(NomdeFeuille).Range("A1:J200").PasteSpecial
        Application.DisplayAlerts = False
        Classeur.Close
        Application.DisplayAlerts = True
    End If
Next

End Sub

Pour ne pas avoir de beug, j'ai étais obligé de mettre un débugger à cette ligne

X = Len(Workbooks(NomdeFeuille).Name)

D'attendre que le fichier s'ouvre, et une fois ouvert de faire F5 pour que le programme continu.

Etc pour chaque fichier.

D'ailleurs si quelqu'un sait pourquoi le programme réagit comme cela

Rechercher des sujets similaires à "ouvrir tout fichiers qui trouve dossier"