Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Ouvrir des sous dossiers puis fichiers pour récuperer des données

Le novice

XLDnaute Junior
Bonjour le forum,
je suis sur un projet avec le peu de connaissance que j'ai et me rend compte de nouvelles difficultés
un fichier porte le nom de deux cellule il est enregistré dans un dossier qui porte le même nom. j'ai aussi un fichier récap qui doit interroger chaque fichier fermé et copier des celllules.
aujourd'hui je sais récupérer et alimenter mon fichier récap grâce a une macro qui consulte tous les fichiers crées dans la même répertoire et recopie certaines valeurs
maintenant je bloque sur l'ouverure de chaque dossier pour accéder aux fichiers.

mon deuxième souci est de pouvoir empêcher l'enregistrement d'un sous dossier et d'un fichier source déjà existant en ajoutant un message si c'est le cas et un autre message de confirmation d'enregistrement si le fichier et dossier sont créés
pour le moment voici mon code
Sub Macro1()

' Macro1 Macro
' Créer le dossier suivant le contenu des cellules U8 et J8
Dim Dossier As String, Fichier As String, Chemin As String
Dossier = Range("U8") & " " & "N°" & "" & Range("J8") & " " & "de" & " " & Hour(Time) & "H" & Minute(Time)
MkDir "Z:\7. Exploitation\1.Direction Exploitation\2. Analyse production\01 Analyse Prod 2020\" & Dossier

' Enregistre le fichier suivant le contenu des cellules U8 et J8
Fichier = Range("U8") & " " & "N°" & "" & Range("J8") & " " & "de" & " " & Hour(Time) & "H" & Minute(Time) & ".xlsm"
Chemin = "Z:\7. Exploitation\1.Direction Exploitation\2. Analyse production\01 Analyse Prod 2020\" & Dossier
ActiveWorkbook.SaveAs Filename:=Chemin & "\" & Fichier & ".xls"

End Sub

merci bcp
 
Solution
bonjour
si le chemin exite le dossier ne sera pas créé
si le fichier existe le fichier ne sera pas sauvé
VB:
Dossier = Range("U8") & " " & "N°" & "" & Range("J8") & " " & "de" & " " & Hour(Time) & "H" & Minute(Time)
racine = "Z:\7. Exploitation\1.Direction Exploitation\2. Analyse production\01 Analyse Prod 2020\"
chemin = racine & Dossier

If Dir(chemin, vbDirectory) = "" Then MkDir chemin else msgbox "le dossier existe deja"
' Enregistre le fichier suivant le contenu des cellules U8 et J8
Fichier = Range("U8") & " " & "N°" & "" & Range("J8") & " " & "de" & " " & Hour(Time) & "H" & Minute(Time) & ".xlsm"
If Dir(chemin & "\" & Fichier & ".xls") = "" Then ActiveWorkbook.SaveAs Filename:=chemin & "\" & Fichier & ".xls" else msgbox"ce...

patricktoulon

XLDnaute Barbatruc
bonjour
si le chemin exite le dossier ne sera pas créé
si le fichier existe le fichier ne sera pas sauvé
VB:
Dossier = Range("U8") & " " & "N°" & "" & Range("J8") & " " & "de" & " " & Hour(Time) & "H" & Minute(Time)
racine = "Z:\7. Exploitation\1.Direction Exploitation\2. Analyse production\01 Analyse Prod 2020\"
chemin = racine & Dossier

If Dir(chemin, vbDirectory) = "" Then MkDir chemin else msgbox "le dossier existe deja"
' Enregistre le fichier suivant le contenu des cellules U8 et J8
Fichier = Range("U8") & " " & "N°" & "" & Range("J8") & " " & "de" & " " & Hour(Time) & "H" & Minute(Time) & ".xlsm"
If Dir(chemin & "\" & Fichier & ".xls") = "" Then ActiveWorkbook.SaveAs Filename:=chemin & "\" & Fichier & ".xls" else msgbox"ce fichier existe deja"
 

Le novice

XLDnaute Junior
Bonjour
Parfait merci j'ai réussi a créer un code mais bancale le votre est parfait.
je cherche maintenant un code qui va en boucle ouvrir plusieurs dossiers, dans chaque dossier, ouvrir un fichier (portant le même nom que le dossier) ce code récupere les valeurs en A8 & J8 et les récopie dans un fichier récap en A2 et B2 Puis A3 et B3....
 

James007

XLDnaute Barbatruc
Bonjour,

Attention à la multiplication des .....fils

 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…