Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

copier fichier dans un rep au dessus

9 réponses
Avatar
gilles
bonjour à tous,
sur XL2003
ci-dessous 3 repertoires
a- fournisseurs
b- Gestion
f- QSE /fichier xls ou est placée la macro insère_fichiers
je souhaite copier par macro un fichier venant du serveur, dans le
repertoire b- Gestion
la 1ère ligne de code fonctionne (avec ThisWorkbook.Path & "\" car c'est
dans le même rep)
la 2ème ne marche pas car in ne trouve pas le chemin (erreur 76)

Sub insère_fichiers() '
'macro qui copie les fichiers concernés dans f-QSE et les renomme
'B8 est le nom qui vient se mettre en préfixe

'b- Gestion est le repertoire ou je veux faire venir budget.ls
FileCopy "S:\QSE\PRS01 - DEVIS \ budget .xls", ThisWorkbook.Path & "\" &
[B8] & " " & "E01 10 budget affaire.xls" 'ça marche
FileCopy "S:\QSE\DEVIS \budget.xls", "b- Gestion " & "\" & [B8] & " " &
"E01 10 budget affaire.xls" 'ça marche
End Sub

Est ce que KEKUN aurait la syntaxe à utiliser pour que la 2ème ligne
fonctionne?
Merci
gilles


--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...

9 réponses

Avatar
FFO
Salut gilles
Tout chemin doit si on utilise pas une instruction qui le définit
(ThisWorkbook.Path ) commencer par la lettre définissant le lecteur suivi du
symbole ":" comme pour QSE : "S:" et qui donne :S:QSEPRS01 - DEVIS budget
.xls
le chemin de la 2° ligne pour "b- Gestion" souffre de cette absence il faut
impérativement démarer son identification par la lettre de son lecteur suivi
des : puis le chemin

Peut être t'aurais je aidé !!!



bonjour à tous,
sur XL2003
ci-dessous 3 repertoires
a- fournisseurs
b- Gestion
f- QSE /fichier xls ou est placée la macro insère_fichiers
je souhaite copier par macro un fichier venant du serveur, dans le
repertoire b- Gestion
la 1ère ligne de code fonctionne (avec ThisWorkbook.Path & "" car c'est
dans le même rep)
la 2ème ne marche pas car in ne trouve pas le chemin (erreur 76)

Sub insère_fichiers() '
'macro qui copie les fichiers concernés dans f-QSE et les renomme
'B8 est le nom qui vient se mettre en préfixe

'b- Gestion est le repertoire ou je veux faire venir budget.ls
FileCopy "S:QSEPRS01 - DEVIS budget .xls", ThisWorkbook.Path & "" &
[B8] & " " & "E01 10 budget affaire.xls" 'ça marche
FileCopy "S:QSEDEVIS budget.xls", "b- Gestion " & "" & [B8] & " " &
"E01 10 budget affaire.xls" 'ça marche
End Sub

Est ce que KEKUN aurait la syntaxe à utiliser pour que la 2ème ligne
fonctionne?
Merci
gilles


--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...


Avatar
gilles
bonjour FFO
merci de ton aide
oui je vois ce que tu dis, mais c'est le code qui va bien que je cherche,
pour dire :
c'est là que je veux envoyer mon fichier:
S: sur serveur
repertoire TOTO (nom qui change au gré des utilisateurs
a- fournisseurs
b- Gestion (là ou je veux envoyer le fichier)
f- QSE (fichier xls ou est placée la macro insère_fichiers)


Si tu vois le syntaxe
j'ai essayé :

Dim objFolder
chemin = objFolder.ParentFolder.
FileCopy "S:QSEPRS01 - DEVIS OFFRES ET CONTRATE01 10 budget affaire.xls",
chemin "b- Gestion facturation Budget" & "" & [B8] & " " & "budget
affaire.xls" 'ça marche pas

Merci encore
--




Salut gilles
Tout chemin doit si on utilise pas une instruction qui le définit
(ThisWorkbook.Path ) commencer par la lettre définissant le lecteur suivi du
symbole ":" comme pour QSE : "S:" et qui donne :S:QSEPRS01 - DEVIS budget
.xls
le chemin de la 2° ligne pour "b- Gestion" souffre de cette absence il faut
impérativement démarer son identification par la lettre de son lecteur suivi
des : puis le chemin

Peut être t'aurais je aidé !!!



bonjour à tous,
sur XL2003
ci-dessous 3 repertoires
a- fournisseurs
b- Gestion
f- QSE /fichier xls ou est placée la macro insère_fichiers
je souhaite copier par macro un fichier venant du serveur, dans le
repertoire b- Gestion
la 1ère ligne de code fonctionne (avec ThisWorkbook.Path & "" car c'est
dans le même rep)
la 2ème ne marche pas car in ne trouve pas le chemin (erreur 76)

Sub insère_fichiers() '
'macro qui copie les fichiers concernés dans f-QSE et les renomme
'B8 est le nom qui vient se mettre en préfixe

'b- Gestion est le repertoire ou je veux faire venir budget.ls
FileCopy "S:QSEPRS01 - DEVIS budget .xls", ThisWorkbook.Path & "" &
[B8] & " " & "E01 10 budget affaire.xls" 'ça marche
FileCopy "S:QSEDEVIS budget.xls", "b- Gestion " & "" & [B8] & " " &
"E01 10 budget affaire.xls" 'ça marche
End Sub

Est ce que KEKUN aurait la syntaxe à utiliser pour que la 2ème ligne
fonctionne?
Merci
gilles


--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...




Avatar
FFO
Quelle différence entre
S: sur serveur et le S: du chemin source dans S:QSEPRS01 - DEVIS OFFRES ET
CONTRATE01 10 budget affaire.xls"
A mon sens une même lettre ne peux être associée qu'à un seul lecteur qu'il
soit local ou réseaux
Donc je ne comprends pas que pour toi la lettre S soit utilisée pour 2
lecteurs différents

Merci de me préciser



bonjour FFO
merci de ton aide
oui je vois ce que tu dis, mais c'est le code qui va bien que je cherche,
pour dire :
c'est là que je veux envoyer mon fichier:
S: sur serveur
repertoire TOTO (nom qui change au gré des utilisateurs
a- fournisseurs
b- Gestion (là ou je veux envoyer le fichier)
f- QSE (fichier xls ou est placée la macro insère_fichiers)


Si tu vois le syntaxe
j'ai essayé :

Dim objFolder
chemin = objFolder.ParentFolder.
FileCopy "S:QSEPRS01 - DEVIS OFFRES ET CONTRATE01 10 budget affaire.xls",
chemin "b- Gestion facturation Budget" & "" & [B8] & " " & "budget
affaire.xls" 'ça marche pas

Merci encore
--




Salut gilles
Tout chemin doit si on utilise pas une instruction qui le définit
(ThisWorkbook.Path ) commencer par la lettre définissant le lecteur suivi du
symbole ":" comme pour QSE : "S:" et qui donne :S:QSEPRS01 - DEVIS budget
.xls
le chemin de la 2° ligne pour "b- Gestion" souffre de cette absence il faut
impérativement démarer son identification par la lettre de son lecteur suivi
des : puis le chemin

Peut être t'aurais je aidé !!!



bonjour à tous,
sur XL2003
ci-dessous 3 repertoires
a- fournisseurs
b- Gestion
f- QSE /fichier xls ou est placée la macro insère_fichiers
je souhaite copier par macro un fichier venant du serveur, dans le
repertoire b- Gestion
la 1ère ligne de code fonctionne (avec ThisWorkbook.Path & "" car c'est
dans le même rep)
la 2ème ne marche pas car in ne trouve pas le chemin (erreur 76)

Sub insère_fichiers() '
'macro qui copie les fichiers concernés dans f-QSE et les renomme
'B8 est le nom qui vient se mettre en préfixe

'b- Gestion est le repertoire ou je veux faire venir budget.ls
FileCopy "S:QSEPRS01 - DEVIS budget .xls", ThisWorkbook.Path & "" &
[B8] & " " & "E01 10 budget affaire.xls" 'ça marche
FileCopy "S:QSEDEVIS budget.xls", "b- Gestion " & "" & [B8] & " " &
"E01 10 budget affaire.xls" 'ça marche
End Sub

Est ce que KEKUN aurait la syntaxe à utiliser pour que la 2ème ligne
fonctionne?
Merci
gilles


--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...






Avatar
gilles
mon explication n'est sans doute pas claire
dans cette ligne qui fonctionne:
FileCopy "S:QSEPRS01 - DEVIS budget .xls", & "" & [B8] & " " & "E01 10
budget affaire.xls" 'ça marche

FileCopy "S:QSEPRS01 - DEVIS budget .xls", est connu car c'est
l'endroit immuable ou je vais chercher le fichier à copier

le ThisWorkbook.Path fonctionne car le fichier copié est dans le même
sous/rep.

Par contre si je veux le copier dans un autre sous/rep.(b- Gestion) ,là
ThisWorkbook.Path ne marche plus
Et comme je ne peux pas lui préciser le nom du repertoire au dessus puisque
le nom (TOTO)change selon les utilisateurs, je voudrais kekchose comme:
thisfolder.path
ou this workbook.path -1 ( le repertoire TOTO (nom qui change au gré des
utilisateurs) auquel j'ajouteraisb-gestion

En résumé j'aimerais trouvé la syntaxe qui remplace thiswokbook.path pour
aller dans repertoire TOTOsous repertoire b-gestion
Je te remercie de toutes façons de ton aide qui dans tous les cas complète
un peu ma nullité
à+
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...



Quelle différence entre
S: sur serveur et le S: du chemin source dans S:QSEPRS01 - DEVIS OFFRES ET
CONTRATE01 10 budget affaire.xls"
A mon sens une même lettre ne peux être associée qu'à un seul lecteur qu'il
soit local ou réseaux
Donc je ne comprends pas que pour toi la lettre S soit utilisée pour 2
lecteurs différents

Merci de me préciser



bonjour FFO
merci de ton aide
oui je vois ce que tu dis, mais c'est le code qui va bien que je cherche,
pour dire :
c'est là que je veux envoyer mon fichier:
S: sur serveur
repertoire TOTO (nom qui change au gré des utilisateurs
a- fournisseurs
b- Gestion (là ou je veux envoyer le fichier)
f- QSE (fichier xls ou est placée la macro insère_fichiers)


Si tu vois le syntaxe
j'ai essayé :

Dim objFolder
chemin = objFolder.ParentFolder.
FileCopy "S:QSEPRS01 - DEVIS OFFRES ET CONTRATE01 10 budget affaire.xls",
chemin "b- Gestion facturation Budget" & "" & [B8] & " " & "budget
affaire.xls" 'ça marche pas

Merci encore
--




Salut gilles
Tout chemin doit si on utilise pas une instruction qui le définit
(ThisWorkbook.Path ) commencer par la lettre définissant le lecteur suivi du
symbole ":" comme pour QSE : "S:" et qui donne :S:QSEPRS01 - DEVIS budget
.xls
le chemin de la 2° ligne pour "b- Gestion" souffre de cette absence il faut
impérativement démarer son identification par la lettre de son lecteur suivi
des : puis le chemin

Peut être t'aurais je aidé !!!



bonjour à tous,
sur XL2003
ci-dessous 3 repertoires
a- fournisseurs
b- Gestion
f- QSE /fichier xls ou est placée la macro insère_fichiers
je souhaite copier par macro un fichier venant du serveur, dans le
repertoire b- Gestion
la 1ère ligne de code fonctionne (avec ThisWorkbook.Path & "" car c'est
dans le même rep)
la 2ème ne marche pas car in ne trouve pas le chemin (erreur 76)

Sub insère_fichiers() '
'macro qui copie les fichiers concernés dans f-QSE et les renomme
'B8 est le nom qui vient se mettre en préfixe

'b- Gestion est le repertoire ou je veux faire venir budget.ls
FileCopy "S:QSEPRS01 - DEVIS budget .xls", ThisWorkbook.Path & "" &
[B8] & " " & "E01 10 budget affaire.xls" 'ça marche
FileCopy "S:QSEDEVIS budget.xls", "b- Gestion " & "" & [B8] & " " &
"E01 10 budget affaire.xls" 'ça marche
End Sub

Est ce que KEKUN aurait la syntaxe à utiliser pour que la 2ème ligne
fonctionne?
Merci
gilles


--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...








Avatar
papou
Bonjour
Tu peux utiliser la propriété ParentFolder du FileSystemObject pour faire
ça.
Voici un exemple :
dim filesysobj as object
dim ledossier as object
dim ledossierNMoinsUn as object
set filesysobj = createobject("Scripting.FileSystemObject")
set ledossier = filesysobj.GetFolder("C:Documents and Settingspapou")
set ledossierNMoinsUn = ledossier.ParentFolder

la variable ledossierNMoinsUn te renverra au niveau de
C:Documents and Settings

Cordialement
Pascal


"gilles" a écrit dans le message de news:

mon explication n'est sans doute pas claire
dans cette ligne qui fonctionne:
FileCopy "S:QSEPRS01 - DEVIS budget .xls", & "" & [B8] & " " & "E01
10
budget affaire.xls" 'ça marche

FileCopy "S:QSEPRS01 - DEVIS budget .xls", est connu car c'est
l'endroit immuable ou je vais chercher le fichier à copier

le ThisWorkbook.Path fonctionne car le fichier copié est dans le même
sous/rep.

Par contre si je veux le copier dans un autre sous/rep.(b- Gestion) ,là
ThisWorkbook.Path ne marche plus
Et comme je ne peux pas lui préciser le nom du repertoire au dessus
puisque
le nom (TOTO)change selon les utilisateurs, je voudrais kekchose comme:
thisfolder.path
ou this workbook.path -1 ( le repertoire TOTO (nom qui change au gré des
utilisateurs) auquel j'ajouteraisb-gestion

En résumé j'aimerais trouvé la syntaxe qui remplace thiswokbook.path pour
aller dans repertoire TOTOsous repertoire b-gestion
Je te remercie de toutes façons de ton aide qui dans tous les cas complète
un peu ma nullité
à+
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire
aujourd'hui,
mais à chaque jour suffit sa peine...



Quelle différence entre
S: sur serveur et le S: du chemin source dans S:QSEPRS01 - DEVIS OFFRES
ET
CONTRATE01 10 budget affaire.xls"
A mon sens une même lettre ne peux être associée qu'à un seul lecteur
qu'il
soit local ou réseaux
Donc je ne comprends pas que pour toi la lettre S soit utilisée pour 2
lecteurs différents

Merci de me préciser



bonjour FFO
merci de ton aide
oui je vois ce que tu dis, mais c'est le code qui va bien que je
cherche,
pour dire :
c'est là que je veux envoyer mon fichier:
S: sur serveur
repertoire TOTO (nom qui change au gré des utilisateurs
a- fournisseurs
b- Gestion (là ou je veux envoyer le fichier)
f- QSE (fichier xls ou est placée la macro insère_fichiers)


Si tu vois le syntaxe
j'ai essayé :

Dim objFolder
chemin = objFolder.ParentFolder.
FileCopy "S:QSEPRS01 - DEVIS OFFRES ET CONTRATE01 10 budget
affaire.xls",
chemin "b- Gestion facturation Budget" & "" & [B8] & " " & "budget
affaire.xls" 'ça marche pas

Merci encore
--




Salut gilles
Tout chemin doit si on utilise pas une instruction qui le définit
(ThisWorkbook.Path ) commencer par la lettre définissant le lecteur
suivi du
symbole ":" comme pour QSE : "S:" et qui donne :S:QSEPRS01 - DEVIS
budget
.xls
le chemin de la 2° ligne pour "b- Gestion" souffre de cette absence
il faut
impérativement démarer son identification par la lettre de son
lecteur suivi
des : puis le chemin

Peut être t'aurais je aidé !!!



bonjour à tous,
sur XL2003
ci-dessous 3 repertoires
a- fournisseurs
b- Gestion
f- QSE /fichier xls ou est placée la macro insère_fichiers
je souhaite copier par macro un fichier venant du serveur, dans le
repertoire b- Gestion
la 1ère ligne de code fonctionne (avec ThisWorkbook.Path & "" car
c'est
dans le même rep)
la 2ème ne marche pas car in ne trouve pas le chemin (erreur 76)

Sub insère_fichiers() '
'macro qui copie les fichiers concernés dans f-QSE et les renomme
'B8 est le nom qui vient se mettre en préfixe

'b- Gestion est le repertoire ou je veux faire venir budget.ls
FileCopy "S:QSEPRS01 - DEVIS budget .xls", ThisWorkbook.Path &
"" &
[B8] & " " & "E01 10 budget affaire.xls" 'ça marche
FileCopy "S:QSEDEVIS budget.xls", "b- Gestion " & "" & [B8] & "
" &
"E01 10 budget affaire.xls" 'ça marche
End Sub

Est ce que KEKUN aurait la syntaxe à utiliser pour que la 2ème
ligne
fonctionne?
Merci
gilles


--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire
aujourd'hui,
mais à chaque jour suffit sa peine...










Avatar
FFO
Tu as aucune nullité je te rassure
Mais il est des domaine comme pour moi où sa compétance est limité et doit
requérir celle des autres plus étendue
revenons à notre préoccupation
Dans ton instruction qui ne marche pas
FileCopy "S:QSEPRS01 - DEVIS OFFRES ET CONTRATE01 10 budget affaire.xls",
chemin "b- Gestion facturation Budget" & "" & [B8] & " " & "budget
affaire.xls"
Je persite à dire qu'il te manque dans ta 2° partie de destination le lecteur
Je te propose d'écrire le code ainsi :
FileCopy "S:QSEPRS01 - DEVIS OFFRES ET CONTRATE01 10 budget affaire.xls",
"S:" & chemin & " b- Gestion facturation Budget" & [B8] & " " & "budget
affaire.xls"
Reste à déterminer le paramètre chemin tributaire de ce fameux répertoire
"TOTO" au nom aléatoire pour lequel il me faudrait plus de précision quant à
la logique de son attribution pour te donner une solution (ex : TOTO1, TOTO2,
TOTO3 etc...)
En tout état de cause si nous prenons cette appellation pour exemple le code
final serait:
chemin = "TOTO"
FileCopy "S:QSEPRS01 - DEVIS OFFRES ET CONTRATE01 10 budget affaire.xls",
"S:" & chemin & " b- Gestion facturation Budget" & [B8] & " " & "budget
affaire.xls"
Ou directement
FileCopy "S:QSEPRS01 - DEVIS OFFRES ET CONTRATE01 10 budget affaire.xls",
"S:TOTO b- Gestion facturation Budget" & [B8] & " " & "budget
affaire.xls"

Merci pour tes précisions


mon explication n'est sans doute pas claire
dans cette ligne qui fonctionne:
FileCopy "S:QSEPRS01 - DEVIS budget .xls", & "" & [B8] & " " & "E01 10
budget affaire.xls" 'ça marche

FileCopy "S:QSEPRS01 - DEVIS budget .xls", est connu car c'est
l'endroit immuable ou je vais chercher le fichier à copier

le ThisWorkbook.Path fonctionne car le fichier copié est dans le même
sous/rep.

Par contre si je veux le copier dans un autre sous/rep.(b- Gestion) ,là
ThisWorkbook.Path ne marche plus
Et comme je ne peux pas lui préciser le nom du repertoire au dessus puisque
le nom (TOTO)change selon les utilisateurs, je voudrais kekchose comme:
thisfolder.path
ou this workbook.path -1 ( le repertoire TOTO (nom qui change au gré des
utilisateurs) auquel j'ajouteraisb-gestion

En résumé j'aimerais trouvé la syntaxe qui remplace thiswokbook.path pour
aller dans repertoire TOTOsous repertoire b-gestion
Je te remercie de toutes façons de ton aide qui dans tous les cas complète
un peu ma nullité
à+
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...



Quelle différence entre
S: sur serveur et le S: du chemin source dans S:QSEPRS01 - DEVIS OFFRES ET
CONTRATE01 10 budget affaire.xls"
A mon sens une même lettre ne peux être associée qu'à un seul lecteur qu'il
soit local ou réseaux
Donc je ne comprends pas que pour toi la lettre S soit utilisée pour 2
lecteurs différents

Merci de me préciser



bonjour FFO
merci de ton aide
oui je vois ce que tu dis, mais c'est le code qui va bien que je cherche,
pour dire :
c'est là que je veux envoyer mon fichier:
S: sur serveur
repertoire TOTO (nom qui change au gré des utilisateurs
a- fournisseurs
b- Gestion (là ou je veux envoyer le fichier)
f- QSE (fichier xls ou est placée la macro insère_fichiers)


Si tu vois le syntaxe
j'ai essayé :

Dim objFolder
chemin = objFolder.ParentFolder.
FileCopy "S:QSEPRS01 - DEVIS OFFRES ET CONTRATE01 10 budget affaire.xls",
chemin "b- Gestion facturation Budget" & "" & [B8] & " " & "budget
affaire.xls" 'ça marche pas

Merci encore
--




Salut gilles
Tout chemin doit si on utilise pas une instruction qui le définit
(ThisWorkbook.Path ) commencer par la lettre définissant le lecteur suivi du
symbole ":" comme pour QSE : "S:" et qui donne :S:QSEPRS01 - DEVIS budget
.xls
le chemin de la 2° ligne pour "b- Gestion" souffre de cette absence il faut
impérativement démarer son identification par la lettre de son lecteur suivi
des : puis le chemin

Peut être t'aurais je aidé !!!



bonjour à tous,
sur XL2003
ci-dessous 3 repertoires
a- fournisseurs
b- Gestion
f- QSE /fichier xls ou est placée la macro insère_fichiers
je souhaite copier par macro un fichier venant du serveur, dans le
repertoire b- Gestion
la 1ère ligne de code fonctionne (avec ThisWorkbook.Path & "" car c'est
dans le même rep)
la 2ème ne marche pas car in ne trouve pas le chemin (erreur 76)

Sub insère_fichiers() '
'macro qui copie les fichiers concernés dans f-QSE et les renomme
'B8 est le nom qui vient se mettre en préfixe

'b- Gestion est le repertoire ou je veux faire venir budget.ls
FileCopy "S:QSEPRS01 - DEVIS budget .xls", ThisWorkbook.Path & "" &
[B8] & " " & "E01 10 budget affaire.xls" 'ça marche
FileCopy "S:QSEDEVIS budget.xls", "b- Gestion " & "" & [B8] & " " &
"E01 10 budget affaire.xls" 'ça marche
End Sub

Est ce que KEKUN aurait la syntaxe à utiliser pour que la 2ème ligne
fonctionne?
Merci
gilles


--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...










Avatar
gilles
Merci FFO et PAPOU
voici le code final qui fonctionne, inspiré de l'exemple de PAPOU:

Sub insère_fichiers()
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path) '("C:Documents and
Settingspapou")
Set ledossierNMoinsUn = ledossier.ParentFolder
FileCopy "S:QSEPRS01 - DEVIS OFFRES ET CONTRATE01 10 budget affaire.xls",
ledossierNMoinsUn & "" & "b- Gestion facturation Budget" & "" & [B8] & " "
& "budget affaire.xls" 'ça marche
End Sub
sur le code de FFO
Reste à déterminer le paramètre chemin tributaire de ce fameux répertoire
"TOTO" au nom aléatoire pour lequel il me faudrait plus de précision quant à
la logique de son attribution pour te donner une solution (ex : TOTO1, TOTO2,

la difficulté c'est que les utilisateurs définissent un nom de repertoire à
leur gré et je ne peux pas le connaitre et donc l'inscrire dans le code
S: ??????

Merci encore de votre aide à tous les 2, car je persiste: je suis pas mal
nul (en fait je manque de bases et je "bricole"
à+

--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...



Bonjour
Tu peux utiliser la propriété ParentFolder du FileSystemObject pour faire
ça.
Voici un exemple :
dim filesysobj as object
dim ledossier as object
dim ledossierNMoinsUn as object
set filesysobj = createobject("Scripting.FileSystemObject")
set ledossier = filesysobj.GetFolder("C:Documents and Settingspapou")
set ledossierNMoinsUn = ledossier.ParentFolder

la variable ledossierNMoinsUn te renverra au niveau de
C:Documents and Settings

Cordialement
Pascal


"gilles" a écrit dans le message de news:

mon explication n'est sans doute pas claire
dans cette ligne qui fonctionne:
FileCopy "S:QSEPRS01 - DEVIS budget .xls", & "" & [B8] & " " & "E01
10
budget affaire.xls" 'ça marche

FileCopy "S:QSEPRS01 - DEVIS budget .xls", est connu car c'est
l'endroit immuable ou je vais chercher le fichier à copier

le ThisWorkbook.Path fonctionne car le fichier copié est dans le même
sous/rep.

Par contre si je veux le copier dans un autre sous/rep.(b- Gestion) ,là
ThisWorkbook.Path ne marche plus
Et comme je ne peux pas lui préciser le nom du repertoire au dessus
puisque
le nom (TOTO)change selon les utilisateurs, je voudrais kekchose comme:
thisfolder.path
ou this workbook.path -1 ( le repertoire TOTO (nom qui change au gré des
utilisateurs) auquel j'ajouteraisb-gestion

En résumé j'aimerais trouvé la syntaxe qui remplace thiswokbook.path pour
aller dans repertoire TOTOsous repertoire b-gestion
Je te remercie de toutes façons de ton aide qui dans tous les cas complète
un peu ma nullité
à+
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire
aujourd'hui,
mais à chaque jour suffit sa peine...



Quelle différence entre
S: sur serveur et le S: du chemin source dans S:QSEPRS01 - DEVIS OFFRES
ET
CONTRATE01 10 budget affaire.xls"
A mon sens une même lettre ne peux être associée qu'à un seul lecteur
qu'il
soit local ou réseaux
Donc je ne comprends pas que pour toi la lettre S soit utilisée pour 2
lecteurs différents

Merci de me préciser



bonjour FFO
merci de ton aide
oui je vois ce que tu dis, mais c'est le code qui va bien que je
cherche,
pour dire :
c'est là que je veux envoyer mon fichier:
S: sur serveur
repertoire TOTO (nom qui change au gré des utilisateurs
a- fournisseurs
b- Gestion (là ou je veux envoyer le fichier)
f- QSE (fichier xls ou est placée la macro insère_fichiers)


Si tu vois le syntaxe
j'ai essayé :

Dim objFolder
chemin = objFolder.ParentFolder.
FileCopy "S:QSEPRS01 - DEVIS OFFRES ET CONTRATE01 10 budget
affaire.xls",
chemin "b- Gestion facturation Budget" & "" & [B8] & " " & "budget
affaire.xls" 'ça marche pas

Merci encore
--




Salut gilles
Tout chemin doit si on utilise pas une instruction qui le définit
(ThisWorkbook.Path ) commencer par la lettre définissant le lecteur
suivi du
symbole ":" comme pour QSE : "S:" et qui donne :S:QSEPRS01 - DEVIS
budget
.xls
le chemin de la 2° ligne pour "b- Gestion" souffre de cette absence
il faut
impérativement démarer son identification par la lettre de son
lecteur suivi
des : puis le chemin

Peut être t'aurais je aidé !!!



bonjour à tous,
sur XL2003
ci-dessous 3 repertoires
a- fournisseurs
b- Gestion
f- QSE /fichier xls ou est placée la macro insère_fichiers
je souhaite copier par macro un fichier venant du serveur, dans le
repertoire b- Gestion
la 1ère ligne de code fonctionne (avec ThisWorkbook.Path & "" car
c'est
dans le même rep)
la 2ème ne marche pas car in ne trouve pas le chemin (erreur 76)

Sub insère_fichiers() '
'macro qui copie les fichiers concernés dans f-QSE et les renomme
'B8 est le nom qui vient se mettre en préfixe

'b- Gestion est le repertoire ou je veux faire venir budget.ls
FileCopy "S:QSEPRS01 - DEVIS budget .xls", ThisWorkbook.Path &
"" &
[B8] & " " & "E01 10 budget affaire.xls" 'ça marche
FileCopy "S:QSEDEVIS budget.xls", "b- Gestion " & "" & [B8] & "
" &
"E01 10 budget affaire.xls" 'ça marche
End Sub

Est ce que KEKUN aurait la syntaxe à utiliser pour que la 2ème
ligne
fonctionne?
Merci
gilles


--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire
aujourd'hui,
mais à chaque jour suffit sa peine...















Avatar
FFO
Je viens de tester la solution de Papou sur un sous répertoire C:Documents
and Settingspapou ayant plusieurs sous dossiers eux même
Bizarrement le code s'effectue de manière arbitraire pour la variable
"ledossierNMoinsUn" dans un répertoire aléatoire qui n’est pas
obligatoirement celui de chaque utilisateur
Là est la limite du code
Il faut donc espérer que chaque destinataire est dans le sous répertoire
concerné le seul est unique répertoire "TOTO" variable de "ledossierNMoinsUn"
pour être certain de l'enregistrement à la bonne adresse

Une autre solution que j'ai testé et qui fonctionne est d'utiliser pour la
sélection du répertoire de destination une boîte de dialogue pour terminer sa
sélection :
Source = "S:QSEPRS01 - DEVIS OFFRES ET CONTRATE01 10 budget affaire.xls"
Destination = Application.GetSaveAsFilename("S:budget affaire.xls")
FileCopy Source, Destination

Un choix de plus dans ta quète de solution
Peut être te sera t'elle utile

Merci FFO et PAPOU
voici le code final qui fonctionne, inspiré de l'exemple de PAPOU:

Sub insère_fichiers()
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path) '("C:Documents and
Settingspapou")
Set ledossierNMoinsUn = ledossier.ParentFolder
FileCopy "S:QSEPRS01 - DEVIS OFFRES ET CONTRATE01 10 budget affaire.xls",
ledossierNMoinsUn & "" & "b- Gestion facturation Budget" & "" & [B8] & " "
& "budget affaire.xls" 'ça marche
End Sub
sur le code de FFO
Reste à déterminer le paramètre chemin tributaire de ce fameux répertoire
"TOTO" au nom aléatoire pour lequel il me faudrait plus de précision quant à
la logique de son attribution pour te donner une solution (ex : TOTO1, TOTO2,

la difficulté c'est que les utilisateurs définissent un nom de repertoire à
leur gré et je ne peux pas le connaitre et donc l'inscrire dans le code
S: ??????

Merci encore de votre aide à tous les 2, car je persiste: je suis pas mal
nul (en fait je manque de bases et je "bricole"
à+

--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...



Bonjour
Tu peux utiliser la propriété ParentFolder du FileSystemObject pour faire
ça.
Voici un exemple :
dim filesysobj as object
dim ledossier as object
dim ledossierNMoinsUn as object
set filesysobj = createobject("Scripting.FileSystemObject")
set ledossier = filesysobj.GetFolder("C:Documents and Settingspapou")
set ledossierNMoinsUn = ledossier.ParentFolder

la variable ledossierNMoinsUn te renverra au niveau de
C:Documents and Settings

Cordialement
Pascal


"gilles" a écrit dans le message de news:

mon explication n'est sans doute pas claire
dans cette ligne qui fonctionne:
FileCopy "S:QSEPRS01 - DEVIS budget .xls", & "" & [B8] & " " & "E01
10
budget affaire.xls" 'ça marche

FileCopy "S:QSEPRS01 - DEVIS budget .xls", est connu car c'est
l'endroit immuable ou je vais chercher le fichier à copier

le ThisWorkbook.Path fonctionne car le fichier copié est dans le même
sous/rep.

Par contre si je veux le copier dans un autre sous/rep.(b- Gestion) ,là
ThisWorkbook.Path ne marche plus
Et comme je ne peux pas lui préciser le nom du repertoire au dessus
puisque
le nom (TOTO)change selon les utilisateurs, je voudrais kekchose comme:
thisfolder.path
ou this workbook.path -1 ( le repertoire TOTO (nom qui change au gré des
utilisateurs) auquel j'ajouteraisb-gestion

En résumé j'aimerais trouvé la syntaxe qui remplace thiswokbook.path pour
aller dans repertoire TOTOsous repertoire b-gestion
Je te remercie de toutes façons de ton aide qui dans tous les cas complète
un peu ma nullité
à+
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire
aujourd'hui,
mais à chaque jour suffit sa peine...



Quelle différence entre
S: sur serveur et le S: du chemin source dans S:QSEPRS01 - DEVIS OFFRES
ET
CONTRATE01 10 budget affaire.xls"
A mon sens une même lettre ne peux être associée qu'à un seul lecteur
qu'il
soit local ou réseaux
Donc je ne comprends pas que pour toi la lettre S soit utilisée pour 2
lecteurs différents

Merci de me préciser



bonjour FFO
merci de ton aide
oui je vois ce que tu dis, mais c'est le code qui va bien que je
cherche,
pour dire :
c'est là que je veux envoyer mon fichier:
S: sur serveur
repertoire TOTO (nom qui change au gré des utilisateurs
a- fournisseurs
b- Gestion (là ou je veux envoyer le fichier)
f- QSE (fichier xls ou est placée la macro insère_fichiers)


Si tu vois le syntaxe
j'ai essayé :

Dim objFolder
chemin = objFolder.ParentFolder.
FileCopy "S:QSEPRS01 - DEVIS OFFRES ET CONTRATE01 10 budget
affaire.xls",
chemin "b- Gestion facturation Budget" & "" & [B8] & " " & "budget
affaire.xls" 'ça marche pas

Merci encore
--




Salut gilles
Tout chemin doit si on utilise pas une instruction qui le définit
(ThisWorkbook.Path ) commencer par la lettre définissant le lecteur
suivi du
symbole ":" comme pour QSE : "S:" et qui donne :S:QSEPRS01 - DEVIS
budget
.xls
le chemin de la 2° ligne pour "b- Gestion" souffre de cette absence
il faut
impérativement démarer son identification par la lettre de son
lecteur suivi
des : puis le chemin

Peut être t'aurais je aidé !!!



bonjour à tous,
sur XL2003
ci-dessous 3 repertoires
a- fournisseurs
b- Gestion
f- QSE /fichier xls ou est placée la macro insère_fichiers
je souhaite copier par macro un fichier venant du serveur, dans le
repertoire b- Gestion
la 1ère ligne de code fonctionne (avec ThisWorkbook.Path & "" car
c'est
dans le même rep)
la 2ème ne marche pas car in ne trouve pas le chemin (erreur 76)

Sub insère_fichiers() '
'macro qui copie les fichiers concernés dans f-QSE et les renomme
'B8 est le nom qui vient se mettre en préfixe

'b- Gestion est le repertoire ou je veux faire venir budget.ls
FileCopy "S:QSEPRS01 - DEVIS budget .xls", ThisWorkbook.Path &
"" &
[B8] & " " & "E01 10 budget affaire.xls" 'ça marche
FileCopy "S:QSEDEVIS budget.xls", "b- Gestion " & "" & [B8] & "
" &
"E01 10 budget affaire.xls" 'ça marche
End Sub

Est ce que KEKUN aurait la syntaxe à utiliser pour que la 2ème
ligne
fonctionne?
Merci
gilles


--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire
aujourd'hui,
mais à chaque jour suffit sa peine...

















Avatar
gilles
je ne suis plus sur le serveur de mon travail et je ne peux donc pas tester
ta remarque.
merci de m' en informer
je l'ai testé 2 ou 3 fois avant de vous répondre Papou et toi
apparemment j'avais pas de pb

Quantà ta solution, je la testerai également, surtout si la 1ère est
lunatique !
merci encore
à+
--
gilles72



Je viens de tester la solution de Papou sur un sous répertoire C:Documents
and Settingspapou ayant plusieurs sous dossiers eux même
Bizarrement le code s'effectue de manière arbitraire pour la variable
"ledossierNMoinsUn" dans un répertoire aléatoire qui n’est pas
obligatoirement celui de chaque utilisateur
Là est la limite du code
Il faut donc espérer que chaque destinataire est dans le sous répertoire
concerné le seul est unique répertoire "TOTO" variable de "ledossierNMoinsUn"
pour être certain de l'enregistrement à la bonne adresse

Une autre solution que j'ai testé et qui fonctionne est d'utiliser pour la
sélection du répertoire de destination une boîte de dialogue pour terminer sa
sélection :
Source = "S:QSEPRS01 - DEVIS OFFRES ET CONTRATE01 10 budget affaire.xls"
Destination = Application.GetSaveAsFilename("S:budget affaire.xls")
FileCopy Source, Destination

Un choix de plus dans ta quète de solution
Peut être te sera t'elle utile

Merci FFO et PAPOU
voici le code final qui fonctionne, inspiré de l'exemple de PAPOU:

Sub insère_fichiers()
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path) '("C:Documents and
Settingspapou")
Set ledossierNMoinsUn = ledossier.ParentFolder
FileCopy "S:QSEPRS01 - DEVIS OFFRES ET CONTRATE01 10 budget affaire.xls",
ledossierNMoinsUn & "" & "b- Gestion facturation Budget" & "" & [B8] & " "
& "budget affaire.xls" 'ça marche
End Sub
sur le code de FFO
Reste à déterminer le paramètre chemin tributaire de ce fameux répertoire
"TOTO" au nom aléatoire pour lequel il me faudrait plus de précision quant à
la logique de son attribution pour te donner une solution (ex : TOTO1, TOTO2,

la difficulté c'est que les utilisateurs définissent un nom de repertoire à
leur gré et je ne peux pas le connaitre et donc l'inscrire dans le code
S: ??????

Merci encore de votre aide à tous les 2, car je persiste: je suis pas mal
nul (en fait je manque de bases et je "bricole"
à+

--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...



Bonjour
Tu peux utiliser la propriété ParentFolder du FileSystemObject pour faire
ça.
Voici un exemple :
dim filesysobj as object
dim ledossier as object
dim ledossierNMoinsUn as object
set filesysobj = createobject("Scripting.FileSystemObject")
set ledossier = filesysobj.GetFolder("C:Documents and Settingspapou")
set ledossierNMoinsUn = ledossier.ParentFolder

la variable ledossierNMoinsUn te renverra au niveau de
C:Documents and Settings

Cordialement
Pascal


"gilles" a écrit dans le message de news:

mon explication n'est sans doute pas claire
dans cette ligne qui fonctionne:
FileCopy "S:QSEPRS01 - DEVIS budget .xls", & "" & [B8] & " " & "E01
10
budget affaire.xls" 'ça marche

FileCopy "S:QSEPRS01 - DEVIS budget .xls", est connu car c'est
l'endroit immuable ou je vais chercher le fichier à copier

le ThisWorkbook.Path fonctionne car le fichier copié est dans le même
sous/rep.

Par contre si je veux le copier dans un autre sous/rep.(b- Gestion) ,là
ThisWorkbook.Path ne marche plus
Et comme je ne peux pas lui préciser le nom du repertoire au dessus
puisque
le nom (TOTO)change selon les utilisateurs, je voudrais kekchose comme:
thisfolder.path
ou this workbook.path -1 ( le repertoire TOTO (nom qui change au gré des
utilisateurs) auquel j'ajouteraisb-gestion

En résumé j'aimerais trouvé la syntaxe qui remplace thiswokbook.path pour
aller dans repertoire TOTOsous repertoire b-gestion
Je te remercie de toutes façons de ton aide qui dans tous les cas complète
un peu ma nullité
à+
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire
aujourd'hui,
mais à chaque jour suffit sa peine...



Quelle différence entre
S: sur serveur et le S: du chemin source dans S:QSEPRS01 - DEVIS OFFRES
ET
CONTRATE01 10 budget affaire.xls"
A mon sens une même lettre ne peux être associée qu'à un seul lecteur
qu'il
soit local ou réseaux
Donc je ne comprends pas que pour toi la lettre S soit utilisée pour 2
lecteurs différents

Merci de me préciser



bonjour FFO
merci de ton aide
oui je vois ce que tu dis, mais c'est le code qui va bien que je
cherche,
pour dire :
c'est là que je veux envoyer mon fichier:
S: sur serveur
repertoire TOTO (nom qui change au gré des utilisateurs
a- fournisseurs
b- Gestion (là ou je veux envoyer le fichier)
f- QSE (fichier xls ou est placée la macro insère_fichiers)


Si tu vois le syntaxe
j'ai essayé :

Dim objFolder
chemin = objFolder.ParentFolder.
FileCopy "S:QSEPRS01 - DEVIS OFFRES ET CONTRATE01 10 budget
affaire.xls",
chemin "b- Gestion facturation Budget" & "" & [B8] & " " & "budget
affaire.xls" 'ça marche pas

Merci encore
--




Salut gilles
Tout chemin doit si on utilise pas une instruction qui le définit
(ThisWorkbook.Path ) commencer par la lettre définissant le lecteur
suivi du
symbole ":" comme pour QSE : "S:" et qui donne :S:QSEPRS01 - DEVIS
budget
.xls
le chemin de la 2° ligne pour "b- Gestion" souffre de cette absence
il faut
impérativement démarer son identification par la lettre de son
lecteur suivi
des : puis le chemin

Peut être t'aurais je aidé !!!



bonjour à tous,
sur XL2003
ci-dessous 3 repertoires
a- fournisseurs
b- Gestion
f- QSE /fichier xls ou est placée la macro insère_fichiers
je souhaite copier par macro un fichier venant du serveur, dans le
repertoire b- Gestion
la 1ère ligne de code fonctionne (avec ThisWorkbook.Path & "" car
c'est
dans le même rep)
la 2ème ne marche pas car in ne trouve pas le chemin (erreur 76)

Sub insère_fichiers() '
'macro qui copie les fichiers concernés dans f-QSE et les renomme
'B8 est le nom qui vient se mettre en préfixe

'b- Gestion est le repertoire ou je veux faire venir budget.ls
FileCopy "S:QSEPRS01 - DEVIS budget .xls", ThisWorkbook.Path &
"" &
[B8] & " " & "E01 10 budget affaire.xls" 'ça marche
FileCopy "S:QSEDEVIS budget.xls", "b- Gestion " & "" & [B8] & "
" &
"E01 10 budget affaire.xls" 'ça marche
End Sub

Est ce que KEKUN aurait la syntaxe à utiliser pour que la 2ème
ligne
fonctionne?
Merci
gilles


--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire
aujourd'hui,
mais à chaque jour suffit sa peine...