[VBA] Erreur avec un FSO.CopyFolder limitation dans les longueurs de chemins ?
24 réponses
HD
Bonjour,
Pour copier l'ensemble d'un répertoire j'utilise la méthode avec
FileSystemObject
Cela a bien fonctionné... sauf que.... dernièrement, les utilisateurs de ma
macro m'ont montré que je n'ai plus l'ensemble du répertoire de copier mais
seulement une partie de celui ci !!!
--------------
Dim RepDest As String 'Rép.de destination
Dim RepSource As String 'Rép.Matrice à copier
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFolder RepSource, RepDest
--------------
Le problème semble lié à seulement certains répertoires de destination... et
cela semble bien lié à la longueur du chemin complet.
Exemple, avec un RepDest = "H:\CAC\1.ASSOCIATIONS\Autres\test" il n'y a pas
de souci... mais avec un RepDest = "H:\CAC\1.ASSOCIATIONS\SECT SOCIAL
INSERTION ACTIVITE ECO\test" j'ai alors un code erreur 76 avec une
description "Chemin d'accès introuvable" sur la ligne:
FSO.CopyFolder RepSource, RepDest
Le dernier fichier copier de la source à la destination est
"H:\CAC\1.ASSOCIATIONS\SECT SOCIAL INSERTION ACTIVITE ECO\test\10 DTA\17
Dossier de contrôle CAC\17.10 Communication avec le client\17.10.2
Echantillonnage de la population à tester pour les
circularisation\Echantillonage de la pop à tester circu frs.xls" (chemin de
253 caractères). Le dernier fichier qui aurait dû être copier mais qui ne
l'a pas été est "H:\CAC\1.ASSOCIATIONS\SECT SOCIAL INSERTION ACTIVITE
ECO\test\10 DTA\17 Dossier de contrôle CAC\17.10 Communication avec le
client\17.10.2 Echantillonnage de la population à tester pour les
circularisation\Matrice échantillonage de la pop à tester circu client.xls"
(chemin de 264 caractères).
Y'a-t-il donc une limitation dans les longueurs de chemin dû à FSO ? dû au
type de donnée String ? Et comment y remédier (sans pour autant limiter la
longueur de ces chemins) ?
Pour précision, je suis sous Windows XP Pro avec un Excel 2007.
Bonjour HD Ne serait-ce pas dû au nombre maximum de caractères dans une variable (256?) ou confondé-je ?
-- Bien amicalmement, "Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"HD" a écrit dans le message de news: i5ir4n$2olg$
Bonjour,
Pour copier l'ensemble d'un répertoire j'utilise la méthode avec FileSystemObject
Cela a bien fonctionné... sauf que.... dernièrement, les utilisateurs de ma macro m'ont montré que je n'ai plus l'ensemble du répertoire de copier mais seulement une partie de celui ci !!!
-------------- Dim RepDest As String 'Rép.de destination Dim RepSource As String 'Rép.Matrice à copier Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFolder RepSource, RepDest --------------
Le problème semble lié à seulement certains répertoires de destination... et cela semble bien lié à la longueur du chemin complet.
Exemple, avec un RepDest = "H:CAC1.ASSOCIATIONSAutrestest" il n'y a pas de souci... mais avec un RepDest = "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest" j'ai alors un code erreur 76 avec une description "Chemin d'accès introuvable" sur la ligne: FSO.CopyFolder RepSource, RepDest
Le dernier fichier copier de la source à la destination est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le client17.10.2 Echantillonnage de la population à tester pour les circularisationEchantillonage de la pop à tester circu frs.xls" (chemin de 253 caractères). Le dernier fichier qui aurait dû être copier mais qui ne l'a pas été est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le client17.10.2 Echantillonnage de la population à tester pour les circularisationMatrice échantillonage de la pop à tester circu client.xls" (chemin de 264 caractères).
Y'a-t-il donc une limitation dans les longueurs de chemin dû à FSO ? dû au type de donnée String ? Et comment y remédier (sans pour autant limiter la longueur de ces chemins) ?
Pour précision, je suis sous Windows XP Pro avec un Excel 2007.
Merci d'avance pour votre aide -- @+ HD
Bonjour HD
Ne serait-ce pas dû au nombre maximum de caractères dans une variable (256?)
ou confondé-je ?
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"HD" <hd@anti.spam.fr> a écrit dans le message de news:
i5ir4n$2olg$1@saria.nerim.net...
Bonjour,
Pour copier l'ensemble d'un répertoire j'utilise la méthode avec
FileSystemObject
Cela a bien fonctionné... sauf que.... dernièrement, les utilisateurs de
ma macro m'ont montré que je n'ai plus l'ensemble du répertoire de copier
mais seulement une partie de celui ci !!!
--------------
Dim RepDest As String 'Rép.de destination
Dim RepSource As String 'Rép.Matrice à copier
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFolder RepSource, RepDest
--------------
Le problème semble lié à seulement certains répertoires de destination...
et cela semble bien lié à la longueur du chemin complet.
Exemple, avec un RepDest = "H:CAC1.ASSOCIATIONSAutrestest" il n'y a
pas de souci... mais avec un RepDest = "H:CAC1.ASSOCIATIONSSECT SOCIAL
INSERTION ACTIVITE ECOtest" j'ai alors un code erreur 76 avec une
description "Chemin d'accès introuvable" sur la ligne:
FSO.CopyFolder RepSource, RepDest
Le dernier fichier copier de la source à la destination est
"H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17
Dossier de contrôle CAC17.10 Communication avec le client17.10.2
Echantillonnage de la population à tester pour les
circularisationEchantillonage de la pop à tester circu frs.xls" (chemin
de 253 caractères). Le dernier fichier qui aurait dû être copier mais qui
ne l'a pas été est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE
ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le
client17.10.2 Echantillonnage de la population à tester pour les
circularisationMatrice échantillonage de la pop à tester circu
client.xls" (chemin de 264 caractères).
Y'a-t-il donc une limitation dans les longueurs de chemin dû à FSO ? dû au
type de donnée String ? Et comment y remédier (sans pour autant limiter la
longueur de ces chemins) ?
Pour précision, je suis sous Windows XP Pro avec un Excel 2007.
Bonjour HD Ne serait-ce pas dû au nombre maximum de caractères dans une variable (256?) ou confondé-je ?
-- Bien amicalmement, "Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"HD" a écrit dans le message de news: i5ir4n$2olg$
Bonjour,
Pour copier l'ensemble d'un répertoire j'utilise la méthode avec FileSystemObject
Cela a bien fonctionné... sauf que.... dernièrement, les utilisateurs de ma macro m'ont montré que je n'ai plus l'ensemble du répertoire de copier mais seulement une partie de celui ci !!!
-------------- Dim RepDest As String 'Rép.de destination Dim RepSource As String 'Rép.Matrice à copier Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFolder RepSource, RepDest --------------
Le problème semble lié à seulement certains répertoires de destination... et cela semble bien lié à la longueur du chemin complet.
Exemple, avec un RepDest = "H:CAC1.ASSOCIATIONSAutrestest" il n'y a pas de souci... mais avec un RepDest = "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest" j'ai alors un code erreur 76 avec une description "Chemin d'accès introuvable" sur la ligne: FSO.CopyFolder RepSource, RepDest
Le dernier fichier copier de la source à la destination est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le client17.10.2 Echantillonnage de la population à tester pour les circularisationEchantillonage de la pop à tester circu frs.xls" (chemin de 253 caractères). Le dernier fichier qui aurait dû être copier mais qui ne l'a pas été est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le client17.10.2 Echantillonnage de la population à tester pour les circularisationMatrice échantillonage de la pop à tester circu client.xls" (chemin de 264 caractères).
Y'a-t-il donc une limitation dans les longueurs de chemin dû à FSO ? dû au type de donnée String ? Et comment y remédier (sans pour autant limiter la longueur de ces chemins) ?
Pour précision, je suis sous Windows XP Pro avec un Excel 2007.
Merci d'avance pour votre aide -- @+ HD
Jacquouille
....Que je me réponds Avec un bréviaire comme chemin, c'est pire que celui qui mène au Paradis. Ne pourrais-tu, par exemple, utiliser des abréviations (pop pour population,comm pour communication .....) Tu aurais vite retrouvé de la place libre......
-- Bien amicalmement, "Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"Jacquouille" a écrit dans le message de news: 4c7cf612$0$5275$
Bonjour HD Ne serait-ce pas dû au nombre maximum de caractères dans une variable (256?) ou confondé-je ?
-- Bien amicalmement, "Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"HD" a écrit dans le message de news: i5ir4n$2olg$
Bonjour,
Pour copier l'ensemble d'un répertoire j'utilise la méthode avec FileSystemObject
Cela a bien fonctionné... sauf que.... dernièrement, les utilisateurs de ma macro m'ont montré que je n'ai plus l'ensemble du répertoire de copier mais seulement une partie de celui ci !!!
-------------- Dim RepDest As String 'Rép.de destination Dim RepSource As String 'Rép.Matrice à copier Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFolder RepSource, RepDest --------------
Le problème semble lié à seulement certains répertoires de destination... et cela semble bien lié à la longueur du chemin complet.
Exemple, avec un RepDest = "H:CAC1.ASSOCIATIONSAutrestest" il n'y a pas de souci... mais avec un RepDest = "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest" j'ai alors un code erreur 76 avec une description "Chemin d'accès introuvable" sur la ligne: FSO.CopyFolder RepSource, RepDest
Le dernier fichier copier de la source à la destination est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le client17.10.2 Echantillonnage de la population à tester pour les circularisationEchantillonage de la pop à tester circu frs.xls" (chemin de 253 caractères). Le dernier fichier qui aurait dû être copier mais qui ne l'a pas été est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le client17.10.2 Echantillonnage de la population à tester pour les circularisationMatrice échantillonage de la pop à tester circu client.xls" (chemin de 264 caractères).
Y'a-t-il donc une limitation dans les longueurs de chemin dû à FSO ? dû au type de donnée String ? Et comment y remédier (sans pour autant limiter la longueur de ces chemins) ?
Pour précision, je suis sous Windows XP Pro avec un Excel 2007.
Merci d'avance pour votre aide -- @+ HD
....Que je me réponds
Avec un bréviaire comme chemin, c'est pire que celui qui mène au Paradis.
Ne pourrais-tu, par exemple, utiliser des abréviations (pop pour
population,comm pour communication .....)
Tu aurais vite retrouvé de la place libre......
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"Jacquouille" <NoSpam_j.thiernesse@skynet.be> a écrit dans le message de
news: 4c7cf612$0$5275$ba620e4c@news.skynet.be...
Bonjour HD
Ne serait-ce pas dû au nombre maximum de caractères dans une variable
(256?) ou confondé-je ?
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"HD" <hd@anti.spam.fr> a écrit dans le message de news:
i5ir4n$2olg$1@saria.nerim.net...
Bonjour,
Pour copier l'ensemble d'un répertoire j'utilise la méthode avec
FileSystemObject
Cela a bien fonctionné... sauf que.... dernièrement, les utilisateurs de
ma macro m'ont montré que je n'ai plus l'ensemble du répertoire de copier
mais seulement une partie de celui ci !!!
--------------
Dim RepDest As String 'Rép.de destination
Dim RepSource As String 'Rép.Matrice à copier
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFolder RepSource, RepDest
--------------
Le problème semble lié à seulement certains répertoires de destination...
et cela semble bien lié à la longueur du chemin complet.
Exemple, avec un RepDest = "H:CAC1.ASSOCIATIONSAutrestest" il n'y a
pas de souci... mais avec un RepDest = "H:CAC1.ASSOCIATIONSSECT SOCIAL
INSERTION ACTIVITE ECOtest" j'ai alors un code erreur 76 avec une
description "Chemin d'accès introuvable" sur la ligne:
FSO.CopyFolder RepSource, RepDest
Le dernier fichier copier de la source à la destination est
"H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17
Dossier de contrôle CAC17.10 Communication avec le client17.10.2
Echantillonnage de la population à tester pour les
circularisationEchantillonage de la pop à tester circu frs.xls" (chemin
de 253 caractères). Le dernier fichier qui aurait dû être copier mais qui
ne l'a pas été est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE
ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le
client17.10.2 Echantillonnage de la population à tester pour les
circularisationMatrice échantillonage de la pop à tester circu
client.xls" (chemin de 264 caractères).
Y'a-t-il donc une limitation dans les longueurs de chemin dû à FSO ? dû
au type de donnée String ? Et comment y remédier (sans pour autant
limiter la longueur de ces chemins) ?
Pour précision, je suis sous Windows XP Pro avec un Excel 2007.
....Que je me réponds Avec un bréviaire comme chemin, c'est pire que celui qui mène au Paradis. Ne pourrais-tu, par exemple, utiliser des abréviations (pop pour population,comm pour communication .....) Tu aurais vite retrouvé de la place libre......
-- Bien amicalmement, "Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"Jacquouille" a écrit dans le message de news: 4c7cf612$0$5275$
Bonjour HD Ne serait-ce pas dû au nombre maximum de caractères dans une variable (256?) ou confondé-je ?
-- Bien amicalmement, "Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"HD" a écrit dans le message de news: i5ir4n$2olg$
Bonjour,
Pour copier l'ensemble d'un répertoire j'utilise la méthode avec FileSystemObject
Cela a bien fonctionné... sauf que.... dernièrement, les utilisateurs de ma macro m'ont montré que je n'ai plus l'ensemble du répertoire de copier mais seulement une partie de celui ci !!!
-------------- Dim RepDest As String 'Rép.de destination Dim RepSource As String 'Rép.Matrice à copier Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFolder RepSource, RepDest --------------
Le problème semble lié à seulement certains répertoires de destination... et cela semble bien lié à la longueur du chemin complet.
Exemple, avec un RepDest = "H:CAC1.ASSOCIATIONSAutrestest" il n'y a pas de souci... mais avec un RepDest = "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest" j'ai alors un code erreur 76 avec une description "Chemin d'accès introuvable" sur la ligne: FSO.CopyFolder RepSource, RepDest
Le dernier fichier copier de la source à la destination est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le client17.10.2 Echantillonnage de la population à tester pour les circularisationEchantillonage de la pop à tester circu frs.xls" (chemin de 253 caractères). Le dernier fichier qui aurait dû être copier mais qui ne l'a pas été est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le client17.10.2 Echantillonnage de la population à tester pour les circularisationMatrice échantillonage de la pop à tester circu client.xls" (chemin de 264 caractères).
Y'a-t-il donc une limitation dans les longueurs de chemin dû à FSO ? dû au type de donnée String ? Et comment y remédier (sans pour autant limiter la longueur de ces chemins) ?
Pour précision, je suis sous Windows XP Pro avec un Excel 2007.
Merci d'avance pour votre aide -- @+ HD
Jacquouille
.... Je me sens en forme, aujourd'hui. Ne pourrais-tu mettre la première partie du chemin (par exemple, celle qui est fixe, jusqu' au dossier) dans une variable, puis le nom du ficher dans une autre. Ensuite, pour le chemin, tu concatènes les deux. non? ou, à défaut de variable, inscrire la moitié du chemin du dossier dans une cel (A1), puis concaténer A1 & nom du dossier ?
-- Bien amicalmement, "Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"Jacquouille" a écrit dans le message de news: 4c7cf734$0$5277$
....Que je me réponds Avec un bréviaire comme chemin, c'est pire que celui qui mène au Paradis. Ne pourrais-tu, par exemple, utiliser des abréviations (pop pour population,comm pour communication .....) Tu aurais vite retrouvé de la place libre......
-- Bien amicalmement, "Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"Jacquouille" a écrit dans le message de news: 4c7cf612$0$5275$
Bonjour HD Ne serait-ce pas dû au nombre maximum de caractères dans une variable (256?) ou confondé-je ?
-- Bien amicalmement, "Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"HD" a écrit dans le message de news: i5ir4n$2olg$
Bonjour,
Pour copier l'ensemble d'un répertoire j'utilise la méthode avec FileSystemObject
Cela a bien fonctionné... sauf que.... dernièrement, les utilisateurs de ma macro m'ont montré que je n'ai plus l'ensemble du répertoire de copier mais seulement une partie de celui ci !!!
-------------- Dim RepDest As String 'Rép.de destination Dim RepSource As String 'Rép.Matrice à copier Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFolder RepSource, RepDest --------------
Le problème semble lié à seulement certains répertoires de destination... et cela semble bien lié à la longueur du chemin complet.
Exemple, avec un RepDest = "H:CAC1.ASSOCIATIONSAutrestest" il n'y a pas de souci... mais avec un RepDest = "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest" j'ai alors un code erreur 76 avec une description "Chemin d'accès introuvable" sur la ligne: FSO.CopyFolder RepSource, RepDest
Le dernier fichier copier de la source à la destination est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le client17.10.2 Echantillonnage de la population à tester pour les circularisationEchantillonage de la pop à tester circu frs.xls" (chemin de 253 caractères). Le dernier fichier qui aurait dû être copier mais qui ne l'a pas été est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le client17.10.2 Echantillonnage de la population à tester pour les circularisationMatrice échantillonage de la pop à tester circu client.xls" (chemin de 264 caractères).
Y'a-t-il donc une limitation dans les longueurs de chemin dû à FSO ? dû au type de donnée String ? Et comment y remédier (sans pour autant limiter la longueur de ces chemins) ?
Pour précision, je suis sous Windows XP Pro avec un Excel 2007.
Merci d'avance pour votre aide -- @+ HD
.... Je me sens en forme, aujourd'hui.
Ne pourrais-tu mettre la première partie du chemin (par exemple, celle qui
est fixe, jusqu' au dossier) dans une variable, puis le nom du ficher dans
une autre. Ensuite, pour le chemin, tu concatènes les deux. non?
ou, à défaut de variable, inscrire la moitié du chemin du dossier dans une
cel (A1), puis concaténer A1 & nom du dossier ?
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"Jacquouille" <NoSpam_j.thiernesse@skynet.be> a écrit dans le message de
news: 4c7cf734$0$5277$ba620e4c@news.skynet.be...
....Que je me réponds
Avec un bréviaire comme chemin, c'est pire que celui qui mène au Paradis.
Ne pourrais-tu, par exemple, utiliser des abréviations (pop pour
population,comm pour communication .....)
Tu aurais vite retrouvé de la place libre......
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"Jacquouille" <NoSpam_j.thiernesse@skynet.be> a écrit dans le message de
news: 4c7cf612$0$5275$ba620e4c@news.skynet.be...
Bonjour HD
Ne serait-ce pas dû au nombre maximum de caractères dans une variable
(256?) ou confondé-je ?
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"HD" <hd@anti.spam.fr> a écrit dans le message de news:
i5ir4n$2olg$1@saria.nerim.net...
Bonjour,
Pour copier l'ensemble d'un répertoire j'utilise la méthode avec
FileSystemObject
Cela a bien fonctionné... sauf que.... dernièrement, les utilisateurs de
ma macro m'ont montré que je n'ai plus l'ensemble du répertoire de
copier mais seulement une partie de celui ci !!!
--------------
Dim RepDest As String 'Rép.de destination
Dim RepSource As String 'Rép.Matrice à copier
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFolder RepSource, RepDest
--------------
Le problème semble lié à seulement certains répertoires de
destination... et cela semble bien lié à la longueur du chemin complet.
Exemple, avec un RepDest = "H:CAC1.ASSOCIATIONSAutrestest" il n'y a
pas de souci... mais avec un RepDest = "H:CAC1.ASSOCIATIONSSECT
SOCIAL INSERTION ACTIVITE ECOtest" j'ai alors un code erreur 76 avec
une description "Chemin d'accès introuvable" sur la ligne:
FSO.CopyFolder RepSource, RepDest
Le dernier fichier copier de la source à la destination est
"H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17
Dossier de contrôle CAC17.10 Communication avec le client17.10.2
Echantillonnage de la population à tester pour les
circularisationEchantillonage de la pop à tester circu frs.xls" (chemin
de 253 caractères). Le dernier fichier qui aurait dû être copier mais
qui ne l'a pas été est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION
ACTIVITE ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication
avec le client17.10.2 Echantillonnage de la population à tester pour
les circularisationMatrice échantillonage de la pop à tester circu
client.xls" (chemin de 264 caractères).
Y'a-t-il donc une limitation dans les longueurs de chemin dû à FSO ? dû
au type de donnée String ? Et comment y remédier (sans pour autant
limiter la longueur de ces chemins) ?
Pour précision, je suis sous Windows XP Pro avec un Excel 2007.
.... Je me sens en forme, aujourd'hui. Ne pourrais-tu mettre la première partie du chemin (par exemple, celle qui est fixe, jusqu' au dossier) dans une variable, puis le nom du ficher dans une autre. Ensuite, pour le chemin, tu concatènes les deux. non? ou, à défaut de variable, inscrire la moitié du chemin du dossier dans une cel (A1), puis concaténer A1 & nom du dossier ?
-- Bien amicalmement, "Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"Jacquouille" a écrit dans le message de news: 4c7cf734$0$5277$
....Que je me réponds Avec un bréviaire comme chemin, c'est pire que celui qui mène au Paradis. Ne pourrais-tu, par exemple, utiliser des abréviations (pop pour population,comm pour communication .....) Tu aurais vite retrouvé de la place libre......
-- Bien amicalmement, "Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"Jacquouille" a écrit dans le message de news: 4c7cf612$0$5275$
Bonjour HD Ne serait-ce pas dû au nombre maximum de caractères dans une variable (256?) ou confondé-je ?
-- Bien amicalmement, "Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"HD" a écrit dans le message de news: i5ir4n$2olg$
Bonjour,
Pour copier l'ensemble d'un répertoire j'utilise la méthode avec FileSystemObject
Cela a bien fonctionné... sauf que.... dernièrement, les utilisateurs de ma macro m'ont montré que je n'ai plus l'ensemble du répertoire de copier mais seulement une partie de celui ci !!!
-------------- Dim RepDest As String 'Rép.de destination Dim RepSource As String 'Rép.Matrice à copier Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFolder RepSource, RepDest --------------
Le problème semble lié à seulement certains répertoires de destination... et cela semble bien lié à la longueur du chemin complet.
Exemple, avec un RepDest = "H:CAC1.ASSOCIATIONSAutrestest" il n'y a pas de souci... mais avec un RepDest = "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest" j'ai alors un code erreur 76 avec une description "Chemin d'accès introuvable" sur la ligne: FSO.CopyFolder RepSource, RepDest
Le dernier fichier copier de la source à la destination est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le client17.10.2 Echantillonnage de la population à tester pour les circularisationEchantillonage de la pop à tester circu frs.xls" (chemin de 253 caractères). Le dernier fichier qui aurait dû être copier mais qui ne l'a pas été est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le client17.10.2 Echantillonnage de la population à tester pour les circularisationMatrice échantillonage de la pop à tester circu client.xls" (chemin de 264 caractères).
Y'a-t-il donc une limitation dans les longueurs de chemin dû à FSO ? dû au type de donnée String ? Et comment y remédier (sans pour autant limiter la longueur de ces chemins) ?
Pour précision, je suis sous Windows XP Pro avec un Excel 2007.
Merci d'avance pour votre aide -- @+ HD
HD
Bonjour Jacquouille,
Le problème est que la limitation en question semble être propre au fonctionnement interne de FSO... car dans ma ligne de script: FSO.CopyFolder RepSource, RepDest J'ai un RepSource et un RepDest de moins de 256 caractères... mais c'est lorsque les fichiers et répertoires de RepSource sont copiés sur RepDest que l'on se retrouve alors avec des chemins plus longs que les 256 caractères...
Et je préférerais ne pas toucher aux chemins qui ont été définis par les utilisateurs car celà pourrait impliquer la modification de nombreuses autres macros... -- @+ HD
Bonjour Jacquouille,
Le problème est que la limitation en question semble être propre au
fonctionnement interne de FSO... car dans ma ligne de script:
FSO.CopyFolder RepSource, RepDest
J'ai un RepSource et un RepDest de moins de 256 caractères... mais c'est
lorsque les fichiers et répertoires de RepSource sont copiés sur RepDest que
l'on se retrouve alors avec des chemins plus longs que les 256 caractères...
Et je préférerais ne pas toucher aux chemins qui ont été définis par les
utilisateurs car celà pourrait impliquer la modification de nombreuses
autres macros...
--
@+
HD
Le problème est que la limitation en question semble être propre au fonctionnement interne de FSO... car dans ma ligne de script: FSO.CopyFolder RepSource, RepDest J'ai un RepSource et un RepDest de moins de 256 caractères... mais c'est lorsque les fichiers et répertoires de RepSource sont copiés sur RepDest que l'on se retrouve alors avec des chemins plus longs que les 256 caractères...
Et je préférerais ne pas toucher aux chemins qui ont été définis par les utilisateurs car celà pourrait impliquer la modification de nombreuses autres macros... -- @+ HD
michdenis
Bonjour,
As-tu essayé quelque chose dans le genre :
Copie l'intégralité du contenu du répertoire source vers le répertoire de destination.
'----------------------------------- Sub test() Dim Source As String Dim destination As String
'*****VARIABLES À DÉFINIR********* Source = "c:pour la première" destination = "c:test1" '**********************************
"HD" a écrit dans le message de groupe de discussion : i5ir4n$2olg$ Bonjour,
Pour copier l'ensemble d'un répertoire j'utilise la méthode avec FileSystemObject
Cela a bien fonctionné... sauf que.... dernièrement, les utilisateurs de ma macro m'ont montré que je n'ai plus l'ensemble du répertoire de copier mais seulement une partie de celui ci !!!
-------------- Dim RepDest As String 'Rép.de destination Dim RepSource As String 'Rép.Matrice à copier Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFolder RepSource, RepDest --------------
Le problème semble lié à seulement certains répertoires de destination... et cela semble bien lié à la longueur du chemin complet.
Exemple, avec un RepDest = "H:CAC1.ASSOCIATIONSAutrestest" il n'y a pas de souci... mais avec un RepDest = "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest" j'ai alors un code erreur 76 avec une description "Chemin d'accès introuvable" sur la ligne: FSO.CopyFolder RepSource, RepDest
Le dernier fichier copier de la source à la destination est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le client17.10.2 Echantillonnage de la population à tester pour les circularisationEchantillonage de la pop à tester circu frs.xls" (chemin de 253 caractères). Le dernier fichier qui aurait dû être copier mais qui ne l'a pas été est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le client17.10.2 Echantillonnage de la population à tester pour les circularisationMatrice échantillonage de la pop à tester circu client.xls" (chemin de 264 caractères).
Y'a-t-il donc une limitation dans les longueurs de chemin dû à FSO ? dû au type de donnée String ? Et comment y remédier (sans pour autant limiter la longueur de ces chemins) ?
Pour précision, je suis sous Windows XP Pro avec un Excel 2007.
Merci d'avance pour votre aide -- @+ HD
Bonjour,
As-tu essayé quelque chose dans le genre :
Copie l'intégralité du contenu du répertoire source vers
le répertoire de destination.
'-----------------------------------
Sub test()
Dim Source As String
Dim destination As String
'*****VARIABLES À DÉFINIR*********
Source = "c:pour la première"
destination = "c:test1"
'**********************************
"HD" <hd@anti.spam.fr> a écrit dans le message de groupe de discussion : i5ir4n$2olg$1@saria.nerim.net...
Bonjour,
Pour copier l'ensemble d'un répertoire j'utilise la méthode avec
FileSystemObject
Cela a bien fonctionné... sauf que.... dernièrement, les utilisateurs de ma
macro m'ont montré que je n'ai plus l'ensemble du répertoire de copier mais
seulement une partie de celui ci !!!
--------------
Dim RepDest As String 'Rép.de destination
Dim RepSource As String 'Rép.Matrice à copier
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFolder RepSource, RepDest
--------------
Le problème semble lié à seulement certains répertoires de destination... et
cela semble bien lié à la longueur du chemin complet.
Exemple, avec un RepDest = "H:CAC1.ASSOCIATIONSAutrestest" il n'y a pas
de souci... mais avec un RepDest = "H:CAC1.ASSOCIATIONSSECT SOCIAL
INSERTION ACTIVITE ECOtest" j'ai alors un code erreur 76 avec une
description "Chemin d'accès introuvable" sur la ligne:
FSO.CopyFolder RepSource, RepDest
Le dernier fichier copier de la source à la destination est
"H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17
Dossier de contrôle CAC17.10 Communication avec le client17.10.2
Echantillonnage de la population à tester pour les
circularisationEchantillonage de la pop à tester circu frs.xls" (chemin de
253 caractères). Le dernier fichier qui aurait dû être copier mais qui ne
l'a pas été est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE
ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le
client17.10.2 Echantillonnage de la population à tester pour les
circularisationMatrice échantillonage de la pop à tester circu client.xls"
(chemin de 264 caractères).
Y'a-t-il donc une limitation dans les longueurs de chemin dû à FSO ? dû au
type de donnée String ? Et comment y remédier (sans pour autant limiter la
longueur de ces chemins) ?
Pour précision, je suis sous Windows XP Pro avec un Excel 2007.
"HD" a écrit dans le message de groupe de discussion : i5ir4n$2olg$ Bonjour,
Pour copier l'ensemble d'un répertoire j'utilise la méthode avec FileSystemObject
Cela a bien fonctionné... sauf que.... dernièrement, les utilisateurs de ma macro m'ont montré que je n'ai plus l'ensemble du répertoire de copier mais seulement une partie de celui ci !!!
-------------- Dim RepDest As String 'Rép.de destination Dim RepSource As String 'Rép.Matrice à copier Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFolder RepSource, RepDest --------------
Le problème semble lié à seulement certains répertoires de destination... et cela semble bien lié à la longueur du chemin complet.
Exemple, avec un RepDest = "H:CAC1.ASSOCIATIONSAutrestest" il n'y a pas de souci... mais avec un RepDest = "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest" j'ai alors un code erreur 76 avec une description "Chemin d'accès introuvable" sur la ligne: FSO.CopyFolder RepSource, RepDest
Le dernier fichier copier de la source à la destination est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le client17.10.2 Echantillonnage de la population à tester pour les circularisationEchantillonage de la pop à tester circu frs.xls" (chemin de 253 caractères). Le dernier fichier qui aurait dû être copier mais qui ne l'a pas été est "H:CAC1.ASSOCIATIONSSECT SOCIAL INSERTION ACTIVITE ECOtest10 DTA17 Dossier de contrôle CAC17.10 Communication avec le client17.10.2 Echantillonnage de la population à tester pour les circularisationMatrice échantillonage de la pop à tester circu client.xls" (chemin de 264 caractères).
Y'a-t-il donc une limitation dans les longueurs de chemin dû à FSO ? dû au type de donnée String ? Et comment y remédier (sans pour autant limiter la longueur de ces chemins) ?
Pour précision, je suis sous Windows XP Pro avec un Excel 2007.
Merci d'avance pour votre aide -- @+ HD
HD
As-tu essayé quelque chose dans le genre : Copie l'intégralité du contenu du répertoire source vers le répertoire de destination. '----------------------------------- Sub test() Dim Source As String Dim destination As String '*****VARIABLES À DÉFINIR********* Source = "c:pour la première" destination = "c:test1" '********************************** commande = Environ$("comspec") & " /c xcopy """ & _ Source & """ """ & destination & """ " & "/s/e" Shell commande, 0 End Sub
Je viens d'essayer en remplaçant donc ma ligne : FSO.CopyFolder RepSource, RepDest
As-tu essayé quelque chose dans le genre :
Copie l'intégralité du contenu du répertoire source vers
le répertoire de destination.
'-----------------------------------
Sub test()
Dim Source As String
Dim destination As String
'*****VARIABLES À DÉFINIR*********
Source = "c:pour la première"
destination = "c:test1"
'**********************************
commande = Environ$("comspec") & " /c xcopy """ & _
Source & """ """ & destination & """ " & "/s/e"
Shell commande, 0
End Sub
Je viens d'essayer en remplaçant donc ma ligne :
FSO.CopyFolder RepSource, RepDest
As-tu essayé quelque chose dans le genre : Copie l'intégralité du contenu du répertoire source vers le répertoire de destination. '----------------------------------- Sub test() Dim Source As String Dim destination As String '*****VARIABLES À DÉFINIR********* Source = "c:pour la première" destination = "c:test1" '********************************** commande = Environ$("comspec") & " /c xcopy """ & _ Source & """ """ & destination & """ " & "/s/e" Shell commande, 0 End Sub
Je viens d'essayer en remplaçant donc ma ligne : FSO.CopyFolder RepSource, RepDest
J'ai également essayé en ajoutant à la commande xcopy les options /c et /y : commande = Environ$("comspec") & " /c xcopy """ & _ RepSource & """ """ & RepDest & """ " & "/s/e/c/y"
mais rien n'y fait...
A savoir que lorsque je fais le copier à la main, sur windows, avec la souris, Windows parvient bien à me copier tous les sous-répertoires avec leurs fichiers... -- @+ HD
J'ai également essayé en ajoutant à la commande xcopy les options /c et /y :
commande = Environ$("comspec") & " /c xcopy """ & _
RepSource & """ """ & RepDest & """ " & "/s/e/c/y"
mais rien n'y fait...
A savoir que lorsque je fais le copier à la main, sur windows, avec la
souris, Windows parvient bien à me copier tous les sous-répertoires avec
leurs fichiers...
--
@+
HD
J'ai également essayé en ajoutant à la commande xcopy les options /c et /y : commande = Environ$("comspec") & " /c xcopy """ & _ RepSource & """ """ & RepDest & """ " & "/s/e/c/y"
mais rien n'y fait...
A savoir que lorsque je fais le copier à la main, sur windows, avec la souris, Windows parvient bien à me copier tous les sous-répertoires avec leurs fichiers... -- @+ HD
michdenis
Une dernière tentative avec les Api de Windows
Tu places le code dans un module standard en déclarant Variables et API dans le haut du module.
Dans la procédure "test", le répertoire source est "lui même" copié intégralement dans le répertoire de la destination spécifiée.
'-------------------------------------------- Type SHFILEOPSTRUCT hwnd As Long wFunc As Long pFrom As String pTo As String fFlags As Integer fAnyOperationsAborted As Boolean hNameMappings As Long lpszProgressTitle As String End Type
Private Declare Function SHFileOperationA Lib "Shell32.dll" _ (lpFileOp As SHFILEOPSTRUCT) As Long
Private Function CopieDossier(Source As String, Dest As String, _ Optional Action As Byte, Optional Animation As Boolean) As Boolean Dim OpStruct As SHFILEOPSTRUCT
With OpStruct .wFunc = Action .pFrom = Source .pTo = Dest 'POUR MESSAGE AVANT D'ÉCRASER : 4 AU LIEU DE 10 .fFlags = 4 End With CopieDossier = IIf(SHFileOperationA(OpStruct), False, True) End Function
'--------------------------------- Sub Test()
Dim Source As String Dim Dest As String
Source = "c:pour la première" Dest = "c:Test1"
If CopieDossier(Source, Dest, FO_COPY, True) Then MsgBox "Opération réussie" Else MsgBox "Un problème fut rencontré." End If End Sub '---------------------------------
"HD" a écrit dans le message de groupe de discussion : i5j1q5$5o$ J'ai également essayé en ajoutant à la commande xcopy les options /c et /y : commande = Environ$("comspec") & " /c xcopy """ & _ RepSource & """ """ & RepDest & """ " & "/s/e/c/y"
mais rien n'y fait...
A savoir que lorsque je fais le copier à la main, sur windows, avec la souris, Windows parvient bien à me copier tous les sous-répertoires avec leurs fichiers... -- @+ HD
Une dernière tentative avec les Api de Windows
Tu places le code dans un module standard en déclarant
Variables et API dans le haut du module.
Dans la procédure "test", le répertoire source est "lui même"
copié intégralement dans le répertoire de la destination spécifiée.
'--------------------------------------------
Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Boolean
hNameMappings As Long
lpszProgressTitle As String
End Type
Private Declare Function SHFileOperationA Lib "Shell32.dll" _
(lpFileOp As SHFILEOPSTRUCT) As Long
Private Function CopieDossier(Source As String, Dest As String, _
Optional Action As Byte, Optional Animation As Boolean) As Boolean
Dim OpStruct As SHFILEOPSTRUCT
With OpStruct
.wFunc = Action
.pFrom = Source
.pTo = Dest
'POUR MESSAGE AVANT D'ÉCRASER : 4 AU LIEU DE 10
.fFlags = 4
End With
CopieDossier = IIf(SHFileOperationA(OpStruct), False, True)
End Function
'---------------------------------
Sub Test()
Dim Source As String
Dim Dest As String
Source = "c:pour la première"
Dest = "c:Test1"
If CopieDossier(Source, Dest, FO_COPY, True) Then
MsgBox "Opération réussie"
Else
MsgBox "Un problème fut rencontré."
End If
End Sub
'---------------------------------
"HD" <hd@anti.spam.fr> a écrit dans le message de groupe de discussion : i5j1q5$5o$1@saria.nerim.net...
J'ai également essayé en ajoutant à la commande xcopy les options /c et /y :
commande = Environ$("comspec") & " /c xcopy """ & _
RepSource & """ """ & RepDest & """ " & "/s/e/c/y"
mais rien n'y fait...
A savoir que lorsque je fais le copier à la main, sur windows, avec la
souris, Windows parvient bien à me copier tous les sous-répertoires avec
leurs fichiers...
--
@+
HD
Tu places le code dans un module standard en déclarant Variables et API dans le haut du module.
Dans la procédure "test", le répertoire source est "lui même" copié intégralement dans le répertoire de la destination spécifiée.
'-------------------------------------------- Type SHFILEOPSTRUCT hwnd As Long wFunc As Long pFrom As String pTo As String fFlags As Integer fAnyOperationsAborted As Boolean hNameMappings As Long lpszProgressTitle As String End Type
Private Declare Function SHFileOperationA Lib "Shell32.dll" _ (lpFileOp As SHFILEOPSTRUCT) As Long
Private Function CopieDossier(Source As String, Dest As String, _ Optional Action As Byte, Optional Animation As Boolean) As Boolean Dim OpStruct As SHFILEOPSTRUCT
With OpStruct .wFunc = Action .pFrom = Source .pTo = Dest 'POUR MESSAGE AVANT D'ÉCRASER : 4 AU LIEU DE 10 .fFlags = 4 End With CopieDossier = IIf(SHFileOperationA(OpStruct), False, True) End Function
'--------------------------------- Sub Test()
Dim Source As String Dim Dest As String
Source = "c:pour la première" Dest = "c:Test1"
If CopieDossier(Source, Dest, FO_COPY, True) Then MsgBox "Opération réussie" Else MsgBox "Un problème fut rencontré." End If End Sub '---------------------------------
"HD" a écrit dans le message de groupe de discussion : i5j1q5$5o$ J'ai également essayé en ajoutant à la commande xcopy les options /c et /y : commande = Environ$("comspec") & " /c xcopy """ & _ RepSource & """ """ & RepDest & """ " & "/s/e/c/y"
mais rien n'y fait...
A savoir que lorsque je fais le copier à la main, sur windows, avec la souris, Windows parvient bien à me copier tous les sous-répertoires avec leurs fichiers... -- @+ HD
HD
Impeccable !!! En utilisant les API Windows cela fonctionne en me copiant l'intégralité des fichiers... sans aucun problème !!!
Un grand MERCI à vous deux pour votre aide -- @+ HD
Impeccable !!! En utilisant les API Windows cela fonctionne en me copiant
l'intégralité des fichiers... sans aucun problème !!!
Un grand MERCI à vous deux pour votre aide
--
@+
HD
Impeccable !!! En utilisant les API Windows cela fonctionne en me copiant l'intégralité des fichiers... sans aucun problème !!!
Un grand MERCI à vous deux pour votre aide -- @+ HD
HD
Dernière question... Cette API Windows fonctionne-t-elle avec les différentes versions de Windows ? (je parle surtout pour XP, 2000, 2003, Vista, Windows 7)
-- @+ HD
Dernière question... Cette API Windows fonctionne-t-elle avec les
différentes versions de Windows ?
(je parle surtout pour XP, 2000, 2003, Vista, Windows 7)
Dernière question... Cette API Windows fonctionne-t-elle avec les différentes versions de Windows ? (je parle surtout pour XP, 2000, 2003, Vista, Windows 7)