[Résolu] Renommer un fichier mais le nom existe déjà

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Bearn 64

XLDnaute Occasionnel
Bonjour le forum,


Je crée un fichier par publipostage, que j'enregistre sous le nom Fiche.docx, puis avec excel je récupère le nom et le prénom et une date, pour renommer le fichier avec un nom&prénom&date.docx.

Ok pour la première fois mais le fichier ayant une vie d'une quinzaine de jours il me donne une erreur fichier déjà existant. si je refait l’opération plusieurs fois.

En Feuil1 : les cellules
A2 le nom
B2 le prenom
F2 la date
G2 l'heure

VB:
Sub Renomme()
    Sheets("Feuil1").Select
    Dim jour As String
    Dim AncienNom As String, NouvNom As String
    lejour = Format([Feuil1!F2], "dd-mm-yyyy")
    lheure = Format([Feuil1!G2], " hh-mm")
    
    cejour = lejour & lheure
    
    AncienNom = "C:\Impressions\Fiche.docx"
    NouveauNom = "C:\Impressions\" & Range("A" & 2) & "_" & Range("B" & 2) & " " & cejour & ".docx"
'MsgBox NouveauNom

Set fs = CreateObject("Scripting.FileSystemObject")
Set F = fs.GetFile(AncienNom)

    On Error Resume Next
    Name AncienNom As NouveauNom
    If Err = 75 Then Exit Sub

End Sub
)

J'aurai voulu écraser ce fichier par le nouveau nom sans message d'erreur.


Merci de votre aide
 
Dernière édition:
Re : Renommer un fichier mais le nom existe déjà

Bonjour Bearn, le forum 🙂

Tu peux essayer en rajoutant cette ligne de code (juste avant de renommer le fichier) :
VB:
If fs.FileExists(NouveauNom) Then fs.DeleteFile NouveauNom

PS: Lorsque tu postes du code, essaye d'utiliser la balise highlight pour plus de lisibilité (ex : [noparse]
VB:
ton code
[/noparse]).

A+
Miki
 
Re : Renommer un fichier mais le nom existe déjà

Bonjour à tous,

quand je crée des fichiers et que je veux que le plus récent écrase l'ancien, j'encadre mon code par
VB:
application.displayalerts=false
mon code
application.displayalerts=true

Il est important de remettre à true après ou en fin de code car sinon on perd toutes les alertes par la suite même pour les opérations manuelles (type voulez vous sauvegarder avant de quitter etc...)

Par contre je ne sais pas si ma solution est top?
Si qq1 a une idée là-dessus, je suis preneur!

PS: merci également à mromain pour le highlight c'est bien plus lisible!!

A+
Tibo
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
975
Retour