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

Renommer tous les fichiers d'un dossier

5 réponses
Avatar
Francis SLAWNY
Bonjour tout le monde
Je suis sous XP SP2, access 2003.
J'ai écris une fonction TransformeChaine (depart As string) dont le resultat
est une string
Je n'arrive pas à écrire un programme toto en VBA tel que :
toto (Dossier1,Dossier2) va chercher tous les noms NomFich des fichiers
dans Dossier1
et recopie ces fichiers dans Dossier2
avec comme nom TransformeChaine(NomFich)
Quelqu'un a-t-il l'exemple d'un tel programme ?
Merci d'avance
FS

5 réponses

Avatar
Eric
Bonjour,

Sous réserve que Dossier2 existe:

Sub zz(Dossier1 As String, Dossier2 As String)
Dim Fich As String
Fich = Dir(Dossier1 & "*.*")
Do While Fich <> ""
FileCopy Dossier1 & IIf(Right(Dossier1, 1) <> "", "", "") _
& Fich, Dossier2 & IIf(Right(Dossier2, 1) <> "", "", "") _
& Fich
Fich = Dir
Loop
End Sub

que tu appelles par exemple ainsi:
Call zz ("C:Mes documentsProfil1", "C:Mes documentsProfil2")
ou
Call zz ("C:Mes documentsProfil1", "C:Mes documentsProfil2")

Bonjour tout le monde
Je suis sous XP SP2, access 2003.
J'ai écris une fonction TransformeChaine (depart As string) dont le resultat
est une string
Je n'arrive pas à écrire un programme toto en VBA tel que :
toto (Dossier1,Dossier2) va chercher tous les noms NomFich des fichiers
dans Dossier1
et recopie ces fichiers dans Dossier2
avec comme nom TransformeChaine(NomFich)
Quelqu'un a-t-il l'exemple d'un tel programme ?
Merci d'avance
FS




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Francis SLAWNY
Merci.
Mais mais ce que tu me proposes recopie simplement les fichiers.
Or je cherche à les copier sous un nom transformé.

Je cherche un programme qui va chercher ficher par fichier, qui récupère le
nom ( abc par exemple), puis me le copie dans le dossier 2 sous un autre nom
(def par exemple)

cordialement
FS


"Eric" a écrit dans le message de news:
%
Bonjour,

Sous réserve que Dossier2 existe:

Sub zz(Dossier1 As String, Dossier2 As String)
Dim Fich As String
Fich = Dir(Dossier1 & "*.*")
Do While Fich <> ""
FileCopy Dossier1 & IIf(Right(Dossier1, 1) <> "", "", "") _
& Fich, Dossier2 & IIf(Right(Dossier2, 1) <> "", "", "") _
& Fich
Fich = Dir
Loop
End Sub

que tu appelles par exemple ainsi:
Call zz ("C:Mes documentsProfil1", "C:Mes documentsProfil2")
ou
Call zz ("C:Mes documentsProfil1", "C:Mes documentsProfil2")

Bonjour tout le monde
Je suis sous XP SP2, access 2003.
J'ai écris une fonction TransformeChaine (depart As string) dont le
resultat est une string
Je n'arrive pas à écrire un programme toto en VBA tel que :
toto (Dossier1,Dossier2) va chercher tous les noms NomFich des fichiers
dans Dossier1
et recopie ces fichiers dans Dossier2
avec comme nom TransformeChaine(NomFich)
Quelqu'un a-t-il l'exemple d'un tel programme ?
Merci d'avance
FS




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Avatar
Francis SLAWNY
Y'a truc que j'avais mal lu. Je crois que ça marche

"Francis SLAWNY" a écrit dans le message de
news:
Merci.
Mais mais ce que tu me proposes recopie simplement les fichiers.
Or je cherche à les copier sous un nom transformé.

Je cherche un programme qui va chercher ficher par fichier, qui récupère
le nom ( abc par exemple), puis me le copie dans le dossier 2 sous un
autre nom (def par exemple)

cordialement
FS


"Eric" a écrit dans le message de news:
%
Bonjour,

Sous réserve que Dossier2 existe:

Sub zz(Dossier1 As String, Dossier2 As String)
Dim Fich As String
Fich = Dir(Dossier1 & "*.*")
Do While Fich <> ""
FileCopy Dossier1 & IIf(Right(Dossier1, 1) <> "", "", "") _
& Fich, Dossier2 & IIf(Right(Dossier2, 1) <> "", "", "") _
& Fich
Fich = Dir
Loop
End Sub

que tu appelles par exemple ainsi:
Call zz ("C:Mes documentsProfil1", "C:Mes documentsProfil2")
ou
Call zz ("C:Mes documentsProfil1", "C:Mes documentsProfil2")

Bonjour tout le monde
Je suis sous XP SP2, access 2003.
J'ai écris une fonction TransformeChaine (depart As string) dont le
resultat est une string
Je n'arrive pas à écrire un programme toto en VBA tel que :
toto (Dossier1,Dossier2) va chercher tous les noms NomFich des fichiers
dans Dossier1
et recopie ces fichiers dans Dossier2
avec comme nom TransformeChaine(NomFich)
Quelqu'un a-t-il l'exemple d'un tel programme ?
Merci d'avance
FS




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr







Avatar
Eric
Aie, j'avais oublié d'utiliser ta fonction. :-(

FileCopy Dossier1 & IIf(Right(Dossier1, 1) <> "", "", "") _
& Fich, Dossier2 & IIf(Right(Dossier2, 1) <> "", "", "") _
& TransformeChaine(Fich)

Mais ne sachant pas comment est écrite ta fonction, il te faudra faire
attention pour bien récupérer les extensions de tes fichiers.

Merci.
Mais mais ce que tu me proposes recopie simplement les fichiers.
Or je cherche à les copier sous un nom transformé.

Je cherche un programme qui va chercher ficher par fichier, qui récupère le
nom ( abc par exemple), puis me le copie dans le dossier 2 sous un autre nom
(def par exemple)

cordialement
FS


"Eric" a écrit dans le message de news:
%
Bonjour,

Sous réserve que Dossier2 existe:

Sub zz(Dossier1 As String, Dossier2 As String)
Dim Fich As String
Fich = Dir(Dossier1 & "*.*")
Do While Fich <> ""
FileCopy Dossier1 & IIf(Right(Dossier1, 1) <> "", "", "") _
& Fich, Dossier2 & IIf(Right(Dossier2, 1) <> "", "", "") _
& Fich
Fich = Dir
Loop
End Sub

que tu appelles par exemple ainsi:
Call zz ("C:Mes documentsProfil1", "C:Mes documentsProfil2")
ou
Call zz ("C:Mes documentsProfil1", "C:Mes documentsProfil2")

Bonjour tout le monde
Je suis sous XP SP2, access 2003.
J'ai écris une fonction TransformeChaine (depart As string) dont le
resultat est une string
Je n'arrive pas à écrire un programme toto en VBA tel que :
toto (Dossier1,Dossier2) va chercher tous les noms NomFich des fichiers
dans Dossier1
et recopie ces fichiers dans Dossier2
avec comme nom TransformeChaine(NomFich)
Quelqu'un a-t-il l'exemple d'un tel programme ?
Merci d'avance
FS


--

A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Avatar
Eric
re,

(Je l'ai intégrée dans ma réponse précédente car en fait j'avais zappé
cette information)

Merci du retour et bonne continuation.

Non, j'avais pas compris tout de suite que Fich était le nom du fichier
et qu'il était utilisé deux fois.
A titre de test j'ai fait ceci :
Do While Fich <> ""
Fich1 = Left(Fich, 7) & Right(Fich, 4)
FileCopy Dossier1 & IIf(Right(Dossier1, 1) <> "", "", "") _
& Fich, Dossier2 & IIf(Right(Dossier2, 1) <> "", "", "") _
& Fich1
Debug.Print Fich
Fich = Dir
Debug.Print "dir= "; Fich
Loop
Et ça marche impec. J'ai plus qu'à introduire en plus ma fonctio.
Un grand merci
FS




"Eric" <mailto: a écrit dans
le message de news: uB5%
<mailto:uB5%...
Aie, j'avais oublié d'utiliser ta fonction. :-(

FileCopy Dossier1 & IIf(Right(Dossier1, 1) <> "", "", "") _
& Fich, Dossier2 & IIf(Right(Dossier2, 1) <> "", "", "") _
& TransformeChaine(Fich)

Mais ne sachant pas comment est écrite ta fonction, il te faudra faire
attention pour bien récupérer les extensions de tes fichiers.





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr