renomer un fichier actif et supprimer l'ancien

wrap food

XLDnaute Occasionnel
Bonjour

Je relance une discussion sur ce sujet

tous d'abord je remercies BrunoM45 de son aide
j'ai un code qui enregistre un fichier depuis un autres fichier et envoie le fichier créé par mail.
Jusque la tous va bien ....

Mon souci est que si l'opérateur doit modifier le fichier créé ( le deuxième) et le renvoyer par la même macro cela ne fonctionne pas
La macro s'arrêt sur "Kill OldPathName", je pense que c'est du au fait qu'il a le même non que le fichier d'origine.

je mets un fichier en PJ pour que cela soit plus explicite.

si une bonne âme pouvait m'aider

par avance merci
 

Pièces jointes

  • creation copie effacer et envoyer avec message 2.xls
    187 KB · Affichages: 18
C

Compte Supprimé 979

Guest
Re : renomer un fichier actif et supprimer l'ancien

Re,

Il aurait mieux fallu rester sur le même fil :(
https://www.excel-downloads.com/threads/renomer-un-fichier-actif-et-supprimer-lancien.232599/

Comme déjà évoqué, le fichier est le même pour une modification donc le fichier actif ne peut pas être supprimé, c'est logique !

Ce que tu peux faire, je pense, c'est mettre comme formule dans Y1
Code:
=B10&" "&E10 &  "-" & TEXTE(MAINTENANT();"jjmmaaaa-hhmmss")
Comme ça le nom de ton fichier sera avec la date et l'heure

Le code est quelque peu à modifier
Code:
Private Sub CommandButton3_Click()
  Dim sPath As String, sFic As String, OldPathName As String
  Dim MonOutlook As Object, MonMessage As Object
  ' Définir le chemin et el nom du fichier
  sPath = ThisWorkbook.Path & "\"
  sFic = Range("Y1").Value & ".xls"
  ' Récupérer l'ancien nom avec un DIR()
  OldPathName = Dir(sPath & "N° COMMANDE*")
  ' Sauvegarde le classeur sous le nouveau nom
  ThisWorkbook.SaveAs sPath & sFic
  ' Supprimer l'ancien fichier
  Kill sPath & OldPathName
  ' Créer une instance Outlook
  Set MonOutlook = CreateObject("Outlook.Application")
  ' Créer un nouveau message
  Set MonMessage = MonOutlook.CreateItem(0)
  MonMessage.To = Range("B5").Value
  MonMessage.cc = Range("B6").Value & ";" & Range("A8").Value & ";" & Range("A9").Value
  MonMessage.Subject = Range("AA1")
  MonMessage.Body = Range("Y8")
  MonMessage.Attachments.Add sPath & sFic
  'MonMessage.Display ' Afficher le message


  MonMessage.Send  ' Envoi du message
  Unload Me
  Fermeture.Show
  Unload Fermeture
  'Unload Fermeture
  '   ActiveWorbook.Close True
  '                  ActiveWorkbook.SaveChanges = True
  ' pour fermer Excel
  ThisWorkbook.Close False
  Application.Quit


End Sub

A+
 

wrap food

XLDnaute Occasionnel
Re : renomer un fichier actif et supprimer l'ancien

re bonjour

Tous fonctionne bien.
un quand merci à vous

Mais j'ai encore un problème.....
une fois le fichier envoyé, je ne peux plus avoir accès au dossier dans lequel sont les fichiers .
impossible d'ouvrir d'autre fichier, impossible de fermer le dossier
je suis obligé de passer le gestionnaire de tâche de Windows pour fermer le dossier..

Auriez vous une explication à ce disfonctionnement.

Par avance merci de votre aide
 

wrap food

XLDnaute Occasionnel
Re : renomer un fichier actif et supprimer l'ancien

Bonjour,

Désolé je n'ai plus accès à mon PC.

Ci joint le fichier maquette ( j'ai la même anomalie) qu'avec le fichier original (qui est beaucoup trop lourd pour être envoyé)

j'ai cherché mais là je sèche ....

Merci de votre aide et de votre patience.
 

Pièces jointes

  • A tester 15 07 29 (1).xls
    196.5 KB · Affichages: 29
C

Compte Supprimé 979

Guest
Re : renomer un fichier actif et supprimer l'ancien

Bonjour,

J'ai testé, je n'ai aucun problème de mon côté :(

Explique nous exactement ce que tu fais, peut-être ne fais-je pas la même chose ;)

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 490
Messages
2 088 879
Membres
103 981
dernier inscrit
vinsalcatraz