2017-05-17 2 views
0

Je suis nouveau sur le site et j'apprends le VBA. Fondamentalement, j'ai créé un code qui parcourt des fichiers excel dans un dossier et traite des données qui sont ensuite implémentées dans un seul fichier Excel commun avec le nom du fichier traité dans la colonne A et toutes les données que je veux enregistrer dans les cellules suivantes. Étant donné que je travaille avec beaucoup de fichiers XSL et que le dossier est constamment mis à jour avec de nouveaux fichiers, je me demandais quel est le moyen le plus simple de passer en revue les fichiers quand la macro démarre et ignore le pré-traité fichiers, afin de simplement enregistrer les nouveaux.Boucler le fichier Excel dans le dossier en sautant les fichiers pré-traités (vba)

Merci à des conseils

Répondre

1

Ajouter une fonction qui vérifie si votre fichier est déjà traité. En supposant que vous avez la liste des fichiers traités dans la colonne A de la 1ère feuille de travail:

Function FileAlreadyProcessed(filename As String) As Boolean 
    Dim r As Range, matchRes As Variant 
    Set r = ThisWorkbook.Sheets(1).Range("A:A") 

    matchRes = Application.Match(filename, r, 0) 
    FileAlreadyProcessed = (Not IsError(matchRes)) 
End Function 

Cette fonction recherche Col A pour le nom du fichier. Une fois trouvée, la fonction retournera vrai, sinon faux. Alors ajoutez un chèque dans votre boucle

if not FileAlreadyProcessed(fileName) then 
    ... do your processing 
endif 
+0

Ça fait beaucoup, ça marche! –