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")
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
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")
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