XL 2010 VBA Macro ouvre des fichiers dans un répertoire

  • Initiateur de la discussion Initiateur de la discussion jlbcall
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jlbcall

XLDnaute Occasionnel
Bonjour à toutes et à tous,
J'ai une macro(voir ci dessous) qui doit importer des fichiers situés dans un répertoire nommé "UO"
Lorsque mes fichiers se trouvent sur mon bureau la macro fonctionnement parfaitement bien.
Par contre lorsque je veux la copier sur une autre racine (D:\ ou un serveur Z:\) elle ne fonctionne plus .
Elle trouve le fichier à ouvrir mais j'ai le message suivant, alors que je mets bien le bon chemin.
Exemple:
ChDir "Z:\Meth\Chiffr\UO"
NomFichier = Dir("Z:\Meth\Chiffr\UO\*.xlsx")


upload_2019-1-18_14-5-43.png


Merci d'avance pour votre aide bonne journée.


Sub Import_UO()
'Etape 01 Importer les données des fichiers UO exportés d'Hastus Liste PRAA
'Attention il est important que le nom des fichiers soient nommés par la codification
Dim NomFichier As String
Dim TtesLignes As Integer
Dim DernLigne As Integer
Cells.Select
Selection.Clear
Range("a1").Select
Range("A1") = "Imports des Habillages"

ChDir "C:\Users\jlb\Desktop\Chiffr\UO"
NomFichier = Dir("C:\Users\jlb\Desktop\Chiffr\UO\*.xlsx")

Workbooks.Open NomFichier ' il trouve le nom d'un fichier mais le message d'erreur
apparaît

Range("A1:AK1").Copy 'reprendre les entêtes de colonnes d'un des fchier UO
Workbooks("Valorisation_UO.xlsm").Activate
Range("b1").Select
ActiveSheet.Paste

While Len(NomFichier) > 0
Application.DisplayAlerts = False
Workbooks.Open NomFichier
TtesLignes = ActiveSheet.UsedRange.Rows.Count
Range("A2:AK" & TtesLignes).Copy
Workbooks("Valorisation_UO.xlsm").Activate
DernLigne = ActiveSheet.UsedRange.Rows.Count + 1
Range("B" & DernLigne).Select
ActiveSheet.Paste 'On colle les données
Range("A" & DernLigne & ":A" & ActiveSheet.UsedRange.Rows.Count) = NomFichier
Workbooks(NomFichier).Close
NomFichier = Dir
Wend

Columns("a:a").Replace ".xlsx"
Range("a1").Select
MsgBox "L'import a été effectué création du calendier sur l'onglet Cal suivre procédure"

End Sub
 
Bonjour DD,

Cela permet bien d'ouvrir le 1er fichier mais ej ne peux plus rucpérer le nom du fichier car il intégre chemin"
Z:\Methode\___Chiffr\UO\fichier01.xlsx car :
Range("A" & DernLigne & ":A" & ActiveSheet.UsedRange.Rows.Count) = NomFichier
+
la macro se bloc ensuite sur
Workbooks(NomFichier).Close

As-tu une explication
Merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour