Switcher en .old

G

gab

Guest
Bonjour,

Je souhaiterais trouver une ligne de code vba qui ferait la chose suivante :

toutes les extensions de fichiers présents dans le répertoire \\REP1\Dossier1\ commencant par la suite de caractères FIC* (ex : FIC1.txt, FIC2.txt, etc...) soient changés par .old (ex : FIC1.old, FIC2.old,etc...)

Je vous remercie pour votre aide si vous avez une idée...

A+
 
G

gab

Guest
Bon, je me suis répondu moi-même, mais je vous en informe au cas où vous seriez en train de vous casser la tête dessus...

Ca donne à peu près ça en déclarant la variable et en l'incrémantant à souhait....

Set fs = CreateObject("Scripting.FileSystemObject")
If fs.FileExists(Server.MapPath("\\REP1\Dossier1\FIC" & var & ".txt")) = True Then
Name "\\\REP1\Dossier1\FIC" & var & ".txt" As "\\REP1\Dossier1\FIC" & var & ".old"
End If

Merci quand même
 
L

Lord Nelson

Guest
Salut Gab,

Voici une suggestion :

Sub RenommerTxt()
Dim Temp As String, Chemin As String
Chemin = "\\REP1\Dossier1\"
Temp = Dir(Chemin & "FIC*.txt")
Do While Temp <> ""
Name Chemin & Temp As Chemin & Left(Temp, Len(Temp) - 3) & "old"
Temp = Dir
Loop
End Sub

Pour que ça marche, il ne faut pas de fichier FIC?.old déjà présent dans le dossier.

A+
Horatio
 
G

gab

Guest
Merci pour cette réponse Lord Nelson, je savais bien que des gens planchaient sur mon problème.... désolé.

En fait, mon système sommairement décrit ci-dessus me convient mieux car il est possible dans mon histoire que des fichiers .old soient déjà présents dans le dossier....

Le principal reste que je m'en sois sorti.

Merci pour ton aide, cela pourra sans doute aider d'autres personnes.....
 
L

Lord Nelson

Guest
Re Gab,

Dans les 2 solutions possibles, c'est l'instruction Name qui échouera si un fichier "old" est déjà présent. Il te faudra donc tester son éventuelle présence et le détruire avant de renommer le fichier txt.

A+
Horatio
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 329
Messages
2 087 335
Membres
103 520
dernier inscrit
Azise