Renommer un fichier

Bonjour,

Je souhaiterais renommer un fichier, pour se faire :

Dim ancienNom As String

Dim nouveauNom As String

ancienNom = "C:\Users\XXX\Desktop\...\Fichier.pdf"

nouveauNom = "C:\Users\XXX\Desktop\...\NouveauFichier.pdf"

Name ancienNom As nouveauNom

Mais cela ne fonctionne pas...de plus, si le fichier existe déjà j'aimerais ne pas avoir d'erreur et rajouter une annontation type (1).

Merci pour votre aide.

bonjour,

Ces noms et chemins me laissent dubitatif....

Pour récupérer des chemins corrects mets une image dans le répertoire en question puis enregistre une importation de cette image dans un classeur.

Tu devrais avoir une syntaxe de ce genre :

ActiveSheet.Pictures.Insert("D:\Pictures\Saved Pictures\RIB-CRCA.jpg").Select

et donne nous cet enregistrement

A+

Bonjour,

Merci pour votre aide. Mais je ne sais pas comment enregistrer l'importation d'une image...

En allant dans les propriétés de mon document, voici le chemin : "C:\Users\mgn\Desktop\VERIF\ET-4100\ET-4100.pdf" pour un fichier PDF.

Sur le fond, la syntaxe de la macro c'est bien ce que tu proposes...

Mais comme tu ne donnes pas la totalité de la macro on peux supposer que c'est ce qu'il y a avant qui pose problème.

...Ou bien la manière dont elle est appelée.

Sub test()
Dim ancienNom As String
Dim nouveauNom As String
ancienNom = "C:\Users\XXX\Desktop\...\Fichier.pdf"
nouveauNom = "C:\Users\XXX\Desktop\...\NouveauFichier.pdf"
Name ancienNom As nouveauNom
End Sub

Après pourquoi ça ne marche pas, je ne peux pas te dire. On a trop peu d'indices.

"Ça ne marche pas" ne suffit pas : Que se passe-t-il ?

Ya-t-il un message d'erreur ? Si Oui : Lequel ? (Screenshot)

Si un débogage est proposé sur quelle ligne ?

Bref un petit bout de fichier joint avec ta macro dans son contexte + les réponses à mes questions permettraient peut-être d'y voir plus clair.

A+

En effet, cela doit être le reste de ma macro qui ne fonctionne pas...je n'ai pas de message d'erreur mais il ne se produit pas ce que j'attends

Je viens de faire un test avec cette partie de la macro isolée et ça joue !!

Par contre, comment gérer le nouveau nom de fichier si il est déjà existant ?

Si déjà existant alors ne rien faire -->

If "chemin nouveau nom fichier" = "" Then.. ?

Merci.

Essaie :

Sub test()

Dim ancienNom As String

Dim nouveauNom As String

ancienNom = "C:\Users\XXX\Desktop\...\Fichier.pdf"

nouveauNom = "C:\Users\XXX\Desktop\...\NouveauFichier.pdf"

On Error GoTo GESTERR

Name ancienNom As nouveauNom

Exit Sub

GESTERR:

If Err.Number = 58 Then MsgBox "notice_52154#01.pdf existe déjà !"

If Err.Number = 53 Then MsgBox "chemin introuvable !"

Resume Next

End Sub

Merci pour ta réponse Galopin01.

Et si je ne veux pas d'erreur justement via MsgBox...

Comme ne pas renommer le fichier dans ce cas OU ajouter "(1)" à la fin de mon nouveau fichier.

Merci.

...Tu supprimes le MsgBox et tu modifies NouveauFichier... Mais là ça devient nettement plus compliqué parce que si (1) ça va pas on fait quoi ? 2, 3, 4 ...

Sub test()
    Dim ancienNom As String
    Dim nouveauNom As String
    ancienNom = "C:\Users\XXX\Desktop\...\Fichier.pdf"
    nouveauNom = "C:\Users\XXX\Desktop\...\NouveauFichier.pdf"
    On Error GoTo GESTERR
    Name ancienNom As nouveauNom
Exit Sub
GESTERR:
    If Err.Number = 58 Then
        nouveauNom = Mid(nouveauNom, 1, Len(nouveauNom) - 4) & " (1)" & ".jpg"
        Resume
    End If
    If Err.Number = 53 Then MsgBox "chemin introuvable !" 'ligne à supprimer si tu ne veux pas de msg
End Sub

A+

Rechercher des sujets similaires à "renommer fichier"