XL 2013 aide sur une boucle (ensemble des fichiers d'un répertoire)

jmten92

XLDnaute Nouveau
Salut à tous , j'ai un souci sur une boucle qui doit traiter un répertoire de fichier .
J'ai plusieurs question à ce sujet :
1/ comment améliorer le code ci-dessous pour que cela fonctionne pour chaque classeur du répertoire (je souhaite que celui-ci soit dynamique pour que cela soit plus facile par la suite)
2/ une fois que la boucle sera fonctionnelle, quel est le code à utiliser pour
a) ouvrir classeur xxx du repertoire
b) effectuer intruction 1 instruction 2
c ) sauvegarder fermer


Un grand merci pour votre aide si vous pouvez m'aiguiller au moins pour la boucle sans laquelle je ne peux rien faire ;(
les premiers pas VBA sont durs...

Sub boucle()

Dim Wb As Workbook
Dim fso As New FileSystemObject
Dim repertoire As String
Set fso = CreateObject("Scripting.FileSystemObject")
Set repertoire = ThisWorkbook.Path

For Each Wb In FileSystemObject.GetFolder

End sub

note : j'ai obtenu le code sur le site mais c'était pour un chemin fixe et j'ai essayé de l'adapter en dynamique mais ...
 

jmten92

XLDnaute Nouveau
alors j'ai adapté un petit peu mon code mais il me pose toujours problème :
je ne sais pas si la partie bleue fonctionne mais je pense qu'il devrait ? (l'objectif étant de boucler sur tous les fichiers d'un répertoire que je souhaite défini dynamiquement)
la partie rouge (files names) => ne fonctionne pas (elle est censée lire le nom des classeurs contenus dans le répertoire)
pour la dernière ligne rouge, quelle est l'instruction à utiliser pour ouvrir le premier classeur du "case else" ; effectuer les intructions1/2/3, save/close et ensuite passer au classeur suivant pour appliquer la même chose et ce pour tous les classeurs concernés par le "case else"

Un grand merci si quelqu'un peut me mettre sur la voie ...

Sub test()


Dim directory As String
directory = ThisWorkbook.Path ' The starting directory
Dim wb As Workbook
Dim fso, newFile, folder, files
Set fso = CreateObject("Scripting.FileSystemObject")

Set folder = fso.GetFolder(directory)
Set files = folder.files


Select Case files.Names
'agit en fonction du nom du classeur

Case "*BICEP*" 'si le classeur contient BICEP
Case Else 'pour tous les autre cas
'ouvrir chaque classeur et faire intruction 1/2/3....
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Bonsoir,

voir ces deux classeurs qui pourront t'éclairer !
il te faut comprendre la récursivité ! voir les macros !

le 1' est plus simple le 2' est plus complet !
 

Pièces jointes

  • ListeRepFich1.xls
    32 KB · Affichages: 40
  • ListeRepFich2.xls
    93.5 KB · Affichages: 45

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87