Comparer des onglets et des noms de fichiers

Moulinois

XLDnaute Occasionnel
Bonjour,

J'ai une macro qui synthétise les données de classeurs d'un dossier. Je la lance depuis mon classeur "Récap", qui est dans ce dossier.

La partie du code permettant de sélectionner les classeurs est la suivante :
Code:
Chemin = ThisWorkbook.Path & "\"
monfichier = Dir(Chemin & "*.xls")
classeur1 = ActiveWorkbook.Name
Application.DisplayAlerts = False
Do Until monfichier = ""

    If monfichier <> classeur1 Then

Mais j'ai un problème : l'utilisation de la macro va changer. Maintenant, le dossier est alimenté en permanence et il faudrait que la macro puisse ne rajouter les onglets que des machines qu'elle n'a pas (et modifier quelques autres bricoles).

-> Quelle procédure utiliser pour tester que monfichier est différent de ceux déjà traités ?

Merci pour votre aide future.
 

Moulinois

XLDnaute Occasionnel
Re : Comparer des onglets et des noms de fichiers

Re,

Mince alors :D

Do Until monfichier = "" permet de faire les actions de la suite pour tous les fichiers du répertoire.
If monfichier <> classeur1 Then permet de faire les actions pour tous les fichiers QUI NE SONT PAS LE CLASSEUR ACTUEL.

Je voudrais éviter aussi de faire ces actions pour les fichiers sur lesquels je les ai déjà faites (dont les noms sont les onglets de mon classeur).

Est-ce mieux détaillé ainsi ?
 

job75

XLDnaute Barbatruc
Re : Comparer des onglets et des noms de fichiers

Bonsoir Moulinois,
Bon maintenant je comprends ce que vous voulez.
Je vous propose d'ajouter les lignes de code en rouge :

Chemin = ThisWorkbook.Path & "\"
monfichier = Dir(Chemin & "*.xls")
classeur1 = ActiveWorkbook.Name
Application.DisplayAlerts = False
On Error Resume Next

Do Until monfichier = ""
test = ""
test = Sheets(monfichier).Name

If monfichier <> classeur1 And test = "" And monfichier <> "" Then
'--------------
End If
monfichier = Dir 'cela va sans dire...
Loop

A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 391
Messages
2 087 948
Membres
103 682
dernier inscrit
Thomas23