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

probleme avec renommer fichier

10 réponses
Avatar
koalavert
hello,
je n'arrive pas a renommer un fichier en utilisant des variables,
comme par ex:

name "E:\paraclinique\Cardio\resultats\ doc.txt" as "E:\paraclinique
\Cardio\resultats\" & nom2 & Date1 & ".txt"

nom2 et date1 st des variables string ( au depart je re=E7ois un fichier
avec un intitul=E9 tr=E8s long, je le d=E9coupe pour en extraire le nom et
la date et je cherche =E0 le renommer en "nom2-date1.txt")
merci!

10 réponses

Avatar
Fabien
hello,
je n'arrive pas a renommer un fichier en utilisant des variables,
comme par ex:

name "E:paracliniqueCardioresultats doc.txt" as "E:paraclinique
Cardioresultats" & nom2 & Date1 & ".txt"

nom2 et date1 st des variables string ( au depart je reçois un fichier
avec un intitulé très long, je le découpe pour en extraire le nom et
la date et je cherche à le renommer en "nom2-date1.txt")
merci!

Bonjour KoalaVert

Ne serais ce pa du a une longueur de nom de fichier>8caractéres
essaye : name "'E:paracliniqueCardioresultats doc.txt'" as
"'E:paracliniqueCardioresultats" & nom2 & Date1 & ".txt'"
Des fois que ....

Avatar
koalavert
j'ai trouvé! en fait j'avais mis des "/" dans la date et ce n'est pas
toléré, j'ai remplacé par "-" et c'est OK!
merci à moi.
mais pour les autres une question:
j'ai dans le dossier résultats plein de fichiers à renommer, comment
le faire en serie automatiquement, c.a.d que je voudrais une procedure
qui prendrait fichier apres fichier jusqu' à ce que ts les fichiers
soient traités, il faut une boucle mais y a t-il une méthode pour
selectionner le 1er fichier le traiter puis selectionner le suivant?
merci
PS: la c'est sur je ne me repondrai pas....
Avatar
koalavert
merci Fabien, mais ça venait de la façon dont j'avais écrit la date ds
date1 (voir ma reponse faite avt d'avoir lu la tienne
amicalement
Avatar
Fabien
j'ai trouvé! en fait j'avais mis des "/" dans la date et ce n'est pas
toléré, j'ai remplacé par "-" et c'est OK!
merci à moi.
mais pour les autres une question:
j'ai dans le dossier résultats plein de fichiers à renommer, comment
le faire en serie automatiquement, c.a.d que je voudrais une procedure
qui prendrait fichier apres fichier jusqu' à ce que ts les fichiers
soient traités, il faut une boucle mais y a t-il une méthode pour
selectionner le 1er fichier le traiter puis selectionner le suivant?
merci
PS: la c'est sur je ne me repondrai pas....

Koala

Voici de quoi grignotter ;-)
Sub Import_contenu_repertoire(Dossier As String)
Dim rep, Nom_Tbl As String
'obtient le premier fichier ou répertoire qui est dans "c:"
rep = Dir(Dossier & "*.xls", vbDirectory)
'boucle tant que le répertoire n'a pas été entièrement parcouru
On Error GoTo Erreur
Do While (rep <> "")
'teste si c'est un fichier ou un répertoire
If (GetAttr(Dossier & rep) And vbDirectory) = vbDirectory Then
'MsgBox "Répertoire " & rep
Else
Nom_Tbl = Left(rep, Len(rep) - 4)
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9,
Nom_Tbl, Dossier & rep, False ', rep & "!"
DoCmd.RunSQL "ALTER TABLE [" & Nom_Tbl & "] ADD COLUMN [Numéro]
COUNTER"
Decoupe Nom_Tbl
End If
Suite:
'passe à l'élément suivant
rep = Dir
Loop
GoTo Fin
Erreur:
DoCmd.RunSQL "INSERT INTO [Erreur import xls] ( [Nom Fichier],
[Code erreur] ) SELECT '" & Dossier & rep & "' AS Fichier, " &
Err.Number & " AS Erreur" ', '" & Err.Description & "' AS MesErr"
Resume Suite
Fin:
End Sub
A adapter bien sur

Avatar
koalavert
ah! evidemment je n'ai pas eu le temps de pigé ( et je me demande si
j'ai le niveau pour piger d'ailleurs..) mais je vois des .xls, ça veut
dire que ça utilise excel?
tu dis ds ta REM: obtient le premier fichier ou répertoire qui est
dans "c:" , moi je n'ai que des fichieres.txt et ts mes fichiers à
traiter st la: "E:paracliniqueCardioresultats" comment fais-je?
merci
Avatar
Fabien
ah! evidemment je n'ai pas eu le temps de pigé ( et je me demande si
j'ai le niveau pour piger d'ailleurs..) mais je vois des .xls, ça veut
dire que ça utilise excel?
tu dis ds ta REM: obtient le premier fichier ou répertoire qui est
dans "c:" , moi je n'ai que des fichieres.txt et ts mes fichiers à
traiter st la: "E:paracliniqueCardioresultats" comment fais-je?
merci

Sub Import_contenu_repertoire()

Dim Dossier as String
Dim rep, Nom_Tbl As String
'obtient le premier fichier ou répertoire qui est dans Dossier
Dossier= "E:paracliniqueCardioresultats"
'On cherche le premier nom de fichier *.txt dans le repertoire Dossier
rep = Dir(Dossier & "*.txt", vbDirectory)
'boucle tant que le répertoire n'a pas été entièrement parcouru
On Error GoTo Erreur
Do While (rep <> "")
'teste si c'est un fichier ou un répertoire
If (GetAttr(Dossier & rep) And vbDirectory) = vbDirectory Then
'MsgBox "Répertoire " & rep
Else
Name Dossier & rep Dossier & Nouveaunomdefichier
End If
Suite:
'passe à l'élément suivant
rep = Dir
Loop
GoTo Fin
Erreur:
msgbox "Erreur dans" & Dossier & rep & " Erreur N° " & Err.Number & "- "
& Err.Description
Resume Suite
Fin:
End Sub
Voilà ce que cà peut donner

Faut arreter l'eucalyptus et Au taff now ;-)

Avatar
koalavert
Faut arreter l'eucalyptus et Au taff now ;-)


ben c'est que c'est genetique chez ns l'eucalyptus!
bon je comprends un peu mieux je crois.
est ce utile de tester repertoire ou fichier vu qu'il n' y a que des
fichiers txt ds le repertoire resultats?
Name Dossier & rep Dossier & Nouveaunomdefichier, Nouveaunomdefichier
c'est la que je dois mettre le nouveau nom obtenu apres decoupage de
l'ancien nom avec mon code?
merci de ta patience.

Avatar
Fabien

Faut arreter l'eucalyptus et Au taff now ;-)


ben c'est que c'est genetique chez ns l'eucalyptus!
bon je comprends un peu mieux je crois.
est ce utile de tester repertoire ou fichier vu qu'il n' y a que des
fichiers txt ds le repertoire resultats?
Name Dossier & rep Dossier & Nouveaunomdefichier, Nouveaunomdefichier
c'est la que je dois mettre le nouveau nom obtenu apres decoupage de
l'ancien nom avec mon code?
Yes : Name Dossier & rep Dossier & rep & Date1 & ".txt"

merci de ta patience.

Aller un dernier effort tu y es presque et demain c'est le we ;-)



Avatar
koalavert
a tu déja entendu le cri victorieux du Koala? non, t'as raté qqchose
crois moi!!!!
YES!!! merci j'en suis venu à bout, ça fonctionne après qqs tripotage
de code....
j'ai des feuilles d'euca, t'en veux?
bon WE
Avatar
Fabien
a tu déja entendu le cri victorieux du Koala? non, t'as raté qqchose
crois moi!!!!
YES!!! merci j'en suis venu à bout, ça fonctionne après qqs tripotage
de code....
j'ai des feuilles d'euca, t'en veux?
bon WE

Super !!

Non merci pour les feuilles d'euca mais c'est sympa d'y avoir pensé ;-)
@+
Fabien