Vérifier si un des fichiers du répertoire ouvert
Perduuu
-
NeedHelp -
NeedHelp -
Bonjour,
J'ai réussi avec l'aide de Google à faire fonctionner une macro qui récupérer des données sur plusieurs fichiers.
Mon soucis est que j'aurais besoin de tester si un des fichiers du répertoire "CA" est ouvert avant de l'exécuter.
J'ai bien trouvé des sujets pour vérifier si un classeur spécifique est ouvert, mais pas tous ceux d'un répertoire et à mon niveau c'est compliqué de l'adapter.
Mon code:
D'avance merci pour votre aide, votre savoir!
J'ai réussi avec l'aide de Google à faire fonctionner une macro qui récupérer des données sur plusieurs fichiers.
Mon soucis est que j'aurais besoin de tester si un des fichiers du répertoire "CA" est ouvert avant de l'exécuter.
J'ai bien trouvé des sujets pour vérifier si un classeur spécifique est ouvert, mais pas tous ceux d'un répertoire et à mon niveau c'est compliqué de l'adapter.
Mon code:
Sub controle()
Dim BDD As FileDialog 'déclare la variable BDD (Boîte de Dialogue Dossier)
Dim CA As String 'déclare la variable CA (Chemin d'Accès)
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim FS As String 'décalre la variable FS (Fichier Source)
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim DEST As Range 'déclare la variable DEST (celllue de DESTination)
'le chemin d'accès
CA = "S:\DIEPA\Equipes\IEPA\01_Commun\00. ADMIN - SECRETARIAT\PROJETS\Projet mouvement IEPA\2.0\"
Set CD = ThisWorkbook 'définit la classeur destination CD
Set OD = CD.Sheets(1) 'définit l'onglet destination OD (à adapter à ton cas, ici j'ai mis le premier onglet)
FS = Dir(CA & "*.xlsm") 'définit le premier fichier source Excel contenu dans le dossier ayant CA comme chemin d'accès
Do While FS <> "" ' exécute tant qu'il existe des fichiers source
Workbooks.Open CA & FS 'ouvre le fichier source FS
Set CS = ActiveWorkbook 'définit la classeur source CS
Set OS = CS.Worksheets(8) 'définit l'onglet source OS (à adapter à ton cas, ici j'ai j'ai mis le premier onglet)
'définit la cellule de destination DEST (première cellule vide de la colonne A)
Set DEST = OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0)
L = OS.Range("A" & Rows.Count).End(xlUp).Row + 1 'La variable qui trouve la dernière ligne
OS.Range("B1:C1").Copy DEST 'copie la plage de l'onglet source et la colle dans DEST
CS.Close False 'ferme le claseru source CS (sans enregistrer)
FS = Dir 'définit le prochain fichier source excel du dossier ayant CA comme chemin d'accès
Loop 'boucle
End Sub
D'avance merci pour votre aide, votre savoir!
A voir également:
- Vérifier si un des fichiers du répertoire ouvert
- Cette action ne peut pas être réalisée car le fichier est ouvert dans system - Guide
- Comment réduire la taille d'un fichier - Guide
- Renommer des fichiers en masse - Guide
- Comment ouvrir un fichier epub ? - Guide
- Verifier compatibilite windows 11 - Guide
1 réponse
Bonjour,
voir ceci:
pour parcourir un répertoire:
https://silkyroad.developpez.com/vba/boucles/#LVI
et cela pour les classeurs ouverts
https://excel-malin.com/codes-sources-vba/vba-verifier-si-un-classeur-est-ouvert/
avec une combinaison des 2
voir ceci:
pour parcourir un répertoire:
https://silkyroad.developpez.com/vba/boucles/#LVI
et cela pour les classeurs ouverts
https://excel-malin.com/codes-sources-vba/vba-verifier-si-un-classeur-est-ouvert/
avec une combinaison des 2
Par contre pas du tout merci d'avoir signalé comme doublon quelque chose qui ne l'était pas! Ma demande n'était absolument pas la même. Prend le temps de lire avant de signaler la prochaine fois.
En te remerciant néanmoins encore une fois pour l'aide sur ce sujet.