Boucle ouverture fichier VBA excel

Résolu
Bonjour,

Je travail actuellement sur une macro capable d'ouvrir des fichiers numérotés par mois, nommé suivant le schéma ci contre : XX - nom. XX étant le mois variant de 01 à 12 (logique ;-) ) et nom étant le nom de mon fichier, ce nom est invariant sur l'ensemble des fichiers.

Je cherche donc à réaliser une boucle me permettant d'ouvrir l'ensemble de ces fichiers; Attention si je lance ma macro en juin, il n'y aura que 6 fichiers dans mon dossier.

Merci beaucoup pour votre aide.

7 réponses

  1. je viens de trouver un code comptant le nombre de fichiers de mon répertoire. Le voici :

    Sub test()
    Dim Rep As String
    Dim n As Integer

    Rep = Dir("C:\Chemin\Dossier\*.xls")
    While Rep <> ""
    n = n + 1
    Rep = Dir()
    Wend
    MsgBox "Nombre de Fichiers : " & n
    End Sub

    Je vais essayer d'insérer ce résultat dans une cellule
    3
    1. Modérateur
      Il n'est pas utile de compter le nombre de fichiers.
      Si, dans un dossier (répertoire), vous n'avez que les fichiers à ouvrir, il suffit de boucler sur tous les fichiers du répertoire :
      For Each Fichiers In répertoire
      Ok?
      0
    2. Oui très bonne idée, pouvez vous m'indiquer une syntaxe ?
      merci
      0
  2. Voici le code

    Sub ouverture_générale()
    Dim Rep As String
    Dim n As Integer
    Rep = Dir("C:\Chemin\*.xls")
    While Rep <> ""
    n = n + 1
    Rep = Dir()
    Wend
    MsgBox "Nombre de Fichiers : " & n
    For i = 1 To n
    Range("A" & i).Value = i
    Workbooks.Open "C:\Chemin\" & i & " Nomfichier.xls"
    Next
    End Sub
    2
    1. Modérateur
      Maintenant que tu y es parvenu, merci de placer ton code dans une réponse. cela peux effectivement resservir à quelqu'un d'autre.
      Merci pour eux.
      1
      1. Contributeur
        bonjour,

        quel est le suffixe de tes fichiers (xls, xslx, xslm, doc, ppt....) ?
        0
        1. Modérateur
          Bonjour,
          Tu dis : En juin, il n'y aura que 6 fichiers dans mon dossier en juillet 7, en septembre 9 etc...
          Ben il suffit de boucler sur tous les fichiers du-dit répertoire...
          Tu dis : Je travail actuellement sur une macro quel est ton code? Qu'as tu déjà écris? Qu'elles sont tes pistes? sources?
          0
          1. Mes fichiers sont des fichiers excel donc *.xls

            Je souhaiterai compter les fichiers de mon répertoire pour ensuite lancer une boucle avec un compteur allant de 1 à Nombre_de_fichiers pour ouvrir les fichiers de mon dossier.

            Je n'ai malheureusement pas les connaissances suffisantes en VBA pour coder moi même cette macro.

            Merci
            0
            1. Il me reste "juste" à créer ma boucle pour l'ouverture des fichiers :-)
              0
              1. Modérateur
                Un exemple ici
                Si tu as besoin d'aide pour l'adapter à ton cas, n'hésite surtout pas.
                0
              2. Super merci beaucoup
                0
              3. il me manque juste la commande pour ouvrir un fichier et ça sera génial ! J'essaye de la trouver sur le net et je la poste
                0
              4. Modérateur
                Mmmmm
                Essaye :
                Workbooks.Open "Chemin d'accès et nom du fichier"
                0
              5. C'est ça, merci beaucoup
                0