Vba mac ouvrir des fichiers en series

rollercedric

Membre enregistré
22 Avril 2010
5
0
Bonjour à tous

voila mon soucis
J'ai une serie de fichiers xls que j'ai rangé dans dossier ( /Users/rollercedric/Dropbox/toTreatOriginaux )

sur ceux ci je dois faire tourner une macro ( faite et fonctionnelle)
actuellement je dois ouvrir chaque fichier à la main et j'aimerai une macro qui me les ouvres les un apres les autres et ou je lancerai la macro.

Est ce qqn pourrait m'aider dans l'ouverture sequentielle des fichiers?

Merci
 
Ça n'est possible que dans deux cas :

1) Tous les fichiers du dossier concerné doivent être traités par la macro,
2) Tu dispose d'un classeur ayant dans une feuille de calcul tous les noms des fichiers à traiter, dans le cas contraire.

Dans le premier cas, personnellement, j'écrirais un Applescript pour lancer le traitement (ça doit être possible aussi en VBA, mais là faudrait que je creuse, en Applescript, je sais déjà le faire).

Dans le second cas, tu écris une macro parcourant la liste des noms de fichiers à ouvrir, et tu lui fais ouvrir ces fichiers, et lancer la macro de traitement dessus.
 
+1

Ce n'est pas trop difficile à faire en VBA, j'ai un bout de code que j'avais monté il y a quelque temps, je verrai ça un peu plus tard pour le coller ici.

A tout hasard : ne pas oublier que dans le code VBA, le séparateur n'est pas le slash mais les deux points. Autrement dit, dans l'exemple donné ci-dessus, pour désigner le dossier "toTreatOriginaux", il faut écrire : Disque Dur:Users:rollercedric:Dropbox:toTreatOriginaux

---------- Nouveau message ajouté à 18h59 ---------- Le message précédent a été envoyé à 17h28 ----------

Bon, vite fait (pas trop le temps maintenant) voici une boucle qui permet de lister les noms de tous les classeurs Excel présent dans le dossier où se trouve le classeur contenant la macro. "Y'a plus qu'à" adapter pour que ça ouvre les classeurs au lieu de se contenter d'en lister le nom, et changer le chemin d'accès. Si besoin, j'essayerai de voir ça plus tard ce soir (ou demain matin).

Bloc de code:
Sub ChercherLesClasseurs()
        Dim MonChemin As String
        MonChemin = ThisWorkbook.Path & Application.PathSeparator
        Dim NomFichier As String
       
        NomFichier = Dir(MonChemin, MacID("XLS8"))
        i = 1
        Do While Len(NomFichier) > 0
            ActiveSheet.Range("A" & i).Value = NomFichier
            
            NomFichier = Dir
            i = i + 1
        Loop
    End Sub