Comment modifier le nom d'un fichier sur disque ?
Résolu/Fermé
iBenny
-
Modifié le 11 août 2021 à 20:32
yg_be Messages postés 23337 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 - 21 août 2021 à 19:47
yg_be Messages postés 23337 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 - 21 août 2021 à 19:47
A voir également:
- Comment modifier le nom d'un fichier sur disque ?
- Comment ouvrir un fichier epub ? - Guide
- Cloner disque dur - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Comment modifier un pdf - Guide
2 réponses
yg_be
Messages postés
23337
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 novembre 2024
Ambassadeur
1 551
12 août 2021 à 08:08
12 août 2021 à 08:08
bonjour,
"sans succès", ce n'est pas très factuel.
cela coince où? tu ne donnes pas le code exact que tu utilises.
je suggère de déclarer explicitement tes variables, cela devrait t'aider à découvrir le soucis.
en ce qui concerne ton premier essai, que contient la variable
en ce qui concerne le second essai, comment réussis-tu à faire
deux exemples qui fonctionnent:
"sans succès", ce n'est pas très factuel.
cela coince où? tu ne donnes pas le code exact que tu utilises.
je suggère de déclarer explicitement tes variables, cela devrait t'aider à découvrir le soucis.
en ce qui concerne ton premier essai, que contient la variable
image?
en ce qui concerne le second essai, comment réussis-tu à faire
getfilepour ensuite traiter le résultat comme si c'était un dossier?
deux exemples qui fonctionnent:
Private Sub rn() Dim fso As New Scripting.filesystemobject, dossier As Folder, fichier As File Set dossier = fso.GetFolder(ThisWorkbook.Path) For Each fichier In dossier.Files If Right(fichier.Name, 4) = "jpyg" Then fichier.Name = Left(fichier.Name, Len(fichier.Name) - 4) + "pyg" Exit For End If Next fichier End Sub Private Sub rn2() Dim fso As New Scripting.filesystemobject, fichier As File Set fichier = fso.GetFile(ThisWorkbook.Path + "\testyg.pyg") fichier.Name = "testyg.pygpyg" End Sub
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
12 août 2021 à 08:08
12 août 2021 à 08:08
Bonjour,
tout simplement avec la fonction Replace:
https://www.excel-pratique.com/fr/astuces_vba/replace
tout simplement avec la fonction Replace:
https://www.excel-pratique.com/fr/astuces_vba/replace
iBenny
Messages postés
96
Date d'inscription
lundi 23 janvier 2012
Statut
Membre
Dernière intervention
3 avril 2022
2
12 août 2021 à 16:00
12 août 2021 à 16:00
Bonjour et merci de la suggestion MAIS... "Replace" modifie les chaînes de caractères... PAS le nom d'un fichier sur disque.
iBenny
iBenny
12 août 2021 à 16:24
1- "Sans succès" veux dire que le nom du fichier sur disque n'a pas changé !
2- toutes les variables que j'ai utilisées ont bien sûr été déclarées auparavant et j'ai Option explicite d'indiqué dans la section des variables globales;
3- Dim image as String
image = [chemin] nom du fichier
[chemin]: chaîne de caractère indiquant le chemin complet du fichier à modifier
nom du fichier: chaîne de caractères indiquant le nom du fichier à modifier
[chemin]nom du fichier: chaîne de caractères indiquant le chemin complet suivi du nom du fichier à traiter.
ex:
image = c:/users/usager/documents/fichier.jpeg
Si c'est pas encore clair, n'hésite pas à poser une autre question.
Concernant le deuxième essai,
[chemin]: chaîne de caractère indiquant le chemin complet du fichier à modifier
jpegsss.GetFile([chemin]) => jpegsss.GetFile(c:/user/documents/) par ex... Si c'est pas encore clair, n'hésite pas à demander des précisions...
Je vais maintenant étudier ta suggestion de code...
Merci beaucoup
iBenny
12 août 2021 à 16:35
j'aime bien nr2 ! Je teste ça...
Modifié le 12 août 2021 à 18:10
le premier Dim dans nr2 renvoi :
---------------------------
Microsoft Visual Basic
---------------------------
Erreur de compilation:
Type défini par l'utilisateur non défini
---------------------------
OK Aide
---------------------------
On est dans VBA de MS Word 2003 ici...
12 août 2021 à 18:12
12 août 2021 à 18:13