Comment ouvrir plusieurs fichiers Excel d'une macro VBA?

Bonjour, je suis débutant en VBA et pour mon stage je dois ouvrir plusieurs fichiers Excel à l'aide d'une macro. Ces fichiers se trouvent dans le même dossier. Malgré toutes mes recherches sur différents post n'y arrive pas. Pouvez-vous m'aider svp

Voila le programme

Sub Fichiers()

Application.ScreenUpdating = True

Dim myPath As String, myFile As Variant

myPath = "/Users/raphael-guillaume/Desktop/Essai/"

myFile = Dir(myPath & 1"\*.xlsx*")

c = 1

Do While myFile <> ""

Cells(c, 1) = myFile

Dim wb As Workbook

Set wb = Workbooks.Open(myPath & myFile)

wb.Activate

ActiveWorkbook.Close

myFile = Dir()

c = c + 1

Loop

Bonjour,

Attention, pour indiquer le chemin ce sont des anti-slashs qu'il faut mettre (enfin, sur PC, je ne sais pas sur Mac !) :

Sub Fichiers()

    Dim wb As Workbook
    Dim myPath As String
    Dim myFile As Variant
    Dim C As Long

    Application.ScreenUpdating = False

    myPath = "C:\Users\raphael-guillaume\Desktop\Essai\"

    myFile = Dir(myPath & "\*.xls*")

    C = 1

    Do While (Len(myFile) > 0)

        Set wb = Workbooks.Open(myPath & myFile)

        wb.Activate

        Cells(C, 1) = wb.Name 'myFile

        wb.Close

        myFile = Dir()

        C = C + 1

    Loop

    Application.ScreenUpdating = True

End Sub

merci pour ton aide, ça ne fonctionne toujours pas alors que le code me semble bon...

Bonjour

il y probablement un contre slash en trop ...

    myPath = "C:\Users\raphael-guillaume\Desktop\Essai\"

    myFile = Dir(myPath & "\*.xls*")

je metterais ceci

myPath = "C:\Users\raphael-guillaume\Desktop\Essai"

Fred

Bonjour guillaume41,

Si, le code de Theze est bon ; je crois que tu n'as pas adapté ce chemin :

myPath = "C:\Users\raphael-guillaume\Desktop\Essai\"

1) au lieu de raphael-guillaume, mets le nom de ton compte utilisateur à l'ouverture d'une session Windows (c'est celui qui apparaît sur l'écran de Bienvenue)

2) Desktop est le dossier du Bureau de Windows ; à remplacer éventuellement par Documents pour le dossier « Mes documents »

Dans l'exemple ci-dessus, Essai est un sous-dossier de Desktop ; à ne pas mettre si tu n'as pas de sous-dossier pour l'accès à ton fichier ; ou à adapter ; s'il y a plusieurs sous-dossiers, indique-les.

Si ce n'est pas ça, je te laisse voir avec Theze (quand il sera de retour).

dhany

Salut Dhany

Theze a pris le chemin donné initialement dans le post d'ouverture :

myPath = "/Users/raphael-guillaume/Desktop/Essai/"

Fred

Re,

J'ai intégré un test dans le code, exécute-le et dis moi ce qu'il en est :

Sub Fichiers()

    Dim wb As Workbook
    Dim myPath As String
    Dim myFile As Variant
    Dim C As Long

    Application.ScreenUpdating = False

    myPath = "C:\Users\raphael-guillaume\Desktop\Essai\"

    If Dir(myPath & "\*.xls*") <> "" Then

        MsgBox "le dossier existe et il contient au moins un classeur Excel !"

    Else

        MsgBox "Soit le dossier n'existe pas, soit il ne contient aucun classeur Excel !"
        Exit Sub

    End If

    myFile = Dir(myPath & "\*.xls*")

    C = 1

    Do While (Len(myFile) > 0)

        Set wb = Workbooks.Open(myPath & myFile)

        wb.Activate

        Cells(C, 1) = wb.Name 'myFile

        wb.Close

        myFile = Dir()

        C = C + 1

    Loop

    Application.ScreenUpdating = True

End Sub

Salut Fred,

Tu a écrit :

Theze a pris le chemin donné initialement dans le post d'ouverture :

myPath = "/Users/raphael-guillaume/Desktop/Essai/"

Oui, tu as raison : j'l'avais zappé ! maint'nant qu'j'le vois, avec des slashs ( / ) et pas des antislashs ( \ ), soit le demandeur s'est trompé en les tapant, soit son ordi est un Macintosh !


@guillaume41

N'oublie pas de lire le précédent message de Theze de 18:45 !

dhany

je suis bien sur Mac.

Theze, j'ai teste ton programme avec ta vérification et j'ai un message (soit le dossier n'existe pas, soit il ne contient aucun classeur Excel !)Pour obtenir le chemin il me suffit de faire clique droit sur mon dossier et de cliquer sur "copier le chemin".

Bonjour,

Un peu de lecture pour ce début de soirée.

https://www.rondebruin.nl/mac/section3.htm

Cdlt.

guillaume41 a écrit :

je suis bien sur Mac.

Dans ce cas, pour ta version Excel notée sur le côté droit de chacun de tes messages, c'est mieux que tu mettes : « Mac 2016 FR » ; comme ça, ceux qui t'aident sauront de suite adapter leur réponse à ton Macintosh.

Pour faire cette correction, c'est dans « Panneau de l'utilisateur », onglet « Profil ».

Re,

J'ai intégré un test dans le code, exécute-le et dis moi ce qu'il en est :

Sub Fichiers()

    Dim wb As Workbook
    Dim myPath As String
    Dim myFile As Variant
    Dim C As Long

    Application.ScreenUpdating = False

    myPath = "C:\Users\raphael-guillaume\Desktop\Essai\"

    If Dir(myPath & "\*.xls*") <> "" Then

        MsgBox "le dossier existe et il contient au moins un classeur Excel !"

    Else

        MsgBox "Soit le dossier n'existe pas, soit il ne contient aucun classeur Excel !"
        Exit Sub

    End If

    myFile = Dir(myPath & "\*.xls*")

    C = 1

    Do While (Len(myFile) > 0)

        Set wb = Workbooks.Open(myPath & myFile)

        wb.Activate

        Cells(C, 1) = wb.Name 'myFile

        wb.Close

        myFile = Dir()

        C = C + 1

    Loop

    Application.ScreenUpdating = True

End Sub

Bonjour Theze,

j'ai essayé le code sur windows, il détecte bien le dossier (le dossier existe et il contient au moins un classeur Excel ) mais il m'affiche un autre problème (la méthode 'Open' de l'objet 'Workbooks' a échoué).

Cette ligne de code est soulignée Set wb = Workbooks.Open(myPath & myFile).

Bonjour guillaume41,

Tu n'as pas lu mon message du 27/03 à 19 h 37 ? je t'ai indiqué comment compléter ta version d'Excel en rajoutant Mac et tu ne l'as pas fait (alors que le demandeur est le 1er à bénéficier d'une info de version exacte) :

screen

donc mets « Mac 2016 FR » pour une version française ; ou « Mac 2016 EN » pour une version anglaise.

dhany

Rechercher des sujets similaires à "comment ouvrir fichiers macro vba"