Copie de fichier et respect de la casse
Résolu/Fermé
jucva
Messages postés
26
Date d'inscription
lundi 26 août 2013
Statut
Membre
Dernière intervention
10 février 2016
-
7 oct. 2014 à 16:34
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 8 oct. 2014 à 13:55
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 8 oct. 2014 à 13:55
A voir également:
- Copie de fichier et respect de la casse
- Fichier rar - Guide
- Fichier host - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier iso - Guide
- Copie cachée - Guide
3 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
7 oct. 2014 à 16:36
7 oct. 2014 à 16:36
Bonjour,
Commencez déjà par nous donner votre code afin que l'on puisse voir ce qui cloche éventuellement.
Commencez déjà par nous donner votre code afin que l'on puisse voir ce qui cloche éventuellement.
jucva
Messages postés
26
Date d'inscription
lundi 26 août 2013
Statut
Membre
Dernière intervention
10 février 2016
2
7 oct. 2014 à 16:53
7 oct. 2014 à 16:53
Voici le code :
Set fso = CreateObject("Scripting.FileSystemObject")
Longeur1 = Len(Range("A" & Y))
Longeur2 = InStrRev(Range("A" & Y), "\")
Longeur3 = Longeur1 - Longeur2
Fich$ = Right(Range("A" & Y), Longeur3) ' Copie des fichiers
Src$ = Left(Range("A" & Y), Longeur2)
Sheets("Feuil1").Select
Dest$ = Reptravail
Sheets("DATA").Select
On Error Resume Next
fso.CopyFile Src$ & Fich$, Dest$ & Fich$
Set fso = CreateObject("Scripting.FileSystemObject")
Longeur1 = Len(Range("A" & Y))
Longeur2 = InStrRev(Range("A" & Y), "\")
Longeur3 = Longeur1 - Longeur2
Fich$ = Right(Range("A" & Y), Longeur3) ' Copie des fichiers
Src$ = Left(Range("A" & Y), Longeur2)
Sheets("Feuil1").Select
Dest$ = Reptravail
Sheets("DATA").Select
On Error Resume Next
fso.CopyFile Src$ & Fich$, Dest$ & Fich$
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
7 oct. 2014 à 18:37
7 oct. 2014 à 18:37
J'ai essayé par le FSO justement et il respecte la casse...
Je vais regarder s'il n'y aurait pas un paramètre...
Mais déjà, dans l'état, je suppose que dans
Dans
Si oui à ces deux questions, tes longueurs ne servent à rien...
teste ça :
Je reviens demain...
Je vais regarder s'il n'y aurait pas un paramètre...
Mais déjà, dans l'état, je suppose que dans
Range("A" & Y)tu as le nom complet chemin d'accès du source + nom du fichier + extension?
Dans
Dest$même chose chemin d'accès de destination + nom du fichier + extension?
Si oui à ces deux questions, tes longueurs ne servent à rien...
teste ça :
Set fso = CreateObject("Scripting.FileSystemObject") Src$ = Range("A" & Y) Sheets("Feuil1").Select Dest$ = Reptravail Sheets("DATA").Select On Error Resume Next fso.CopyFile Src$ , Dest$
Je reviens demain...
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
8 oct. 2014 à 07:57
8 oct. 2014 à 07:57
Bonjour,
Pardon, hier soir j'ai dit une bêtise.
En fait, tu as, dans tes Range("A" & Y) le chemin complet de tes fichiers à déplacer, et dans Dest$ tu n'as que le répertoire de destination.
Donc, plutôt que de manipuler avec des Right, Left etc tes chaines, je te propose d'utiliser les propriétés des FSO, et notamment GetFileName qui te retourne le nom du fichier avec extension.
Essaie donc ceci :
Il faudra que tu m'expliques également ce qu'est
Pardon, hier soir j'ai dit une bêtise.
En fait, tu as, dans tes Range("A" & Y) le chemin complet de tes fichiers à déplacer, et dans Dest$ tu n'as que le répertoire de destination.
Donc, plutôt que de manipuler avec des Right, Left etc tes chaines, je te propose d'utiliser les propriétés des FSO, et notamment GetFileName qui te retourne le nom du fichier avec extension.
Essaie donc ceci :
Sub test() Set fso = CreateObject("Scripting.FileSystemObject") Src$ = Range("A" & Y) Fic$ = fso.GetFileName(Src$) Sheets("Feuil1").Select Dest$ = Reptravail & Fic$ Sheets("DATA").Select On Error Resume Next fso.CopyFile Src$, Dest$ End Sub
Il faudra que tu m'expliques également ce qu'est
Reptravail.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
8 oct. 2014 à 13:55
8 oct. 2014 à 13:55
A voir également : https://www.commentcamarche.net/faq/32943-vba-excel-deplacer-tous-types-de-fichiers
Il y a un exemple en téléchargement...
Il y a un exemple en téléchargement...