Problème renommer avec sendmail

  • Initiateur de la discussion Initiateur de la discussion Yohan05
  • Date de début Date de début

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 !

Yohan05

XLDnaute Occasionnel
Bonjour à tous,

J'ai une petit problème de compatibilité avec cette macro.
Dans le mail envoyer, j'aimerais que le nom du classeur soit le nom du fichier sauvegardé seulement quand je place la commande sendmail après la sauvegarde, il y a un problème "le fichier est endommagé" donc les macro ne sont plus présentes.
Quand je le place avant comme ci dessous, cela fonctionne mais mon classeur porte le nom d'origine (normal).

Comment faire pour que ce classeur soit renommé avant l'envoi du fichier par mail?

Merci pour votre aide....

Sub envoyer_Click()

ActiveWorkbook.SendMail Recipients:="toto@tata"
ActiveSheet.Copy
Dim Nom As String, Fichier As String, Chemin As String
Nom = Sheets("Commande").Range("G6").Value
Fichier = "\" & Nom & Format(Date, "yyyy-mm-dd") & "_" & ".xls"
Chemin = "H:\Gestion de production\Commande Archivage\"
ActiveWorkbook.SaveAs Chemin & Fichier
ActiveWorkbook.Close savechanges:=False

MsgBox ("Nouvelle commande validée")
ThisWorkbook.Close savechanges:=False
Application.Quit
End Sub
 
Dernière édition:
Re : Problème renommer avec sendmail

Bonjour Yohan

une piste peut être, utiliser la méthode "SaveCopyAs" plutôt que "saveas", à noter tout de même que tu places un double slash devant le nom de ton classeur.

Code:
ThisWorkbook.[COLOR="Blue"][B]SaveCopyAs [/B][/COLOR]nomfichier

bonne fin d'après midi
@+
 
Re : Problème renommer avec sendmail

Bonjour,

Avec cette macro ci-dessous, cela fonctionne pour l'envoi avec le nom d'une cellule comme nom du classeur en pièce jointe mais les macros ne sont plus dans le classeur...

Sub envoyer_Click()

ActiveSheet.Copy
Dim Nom As String, Fichier As String, Chemin As String
Nom = Sheets("Commande").Range("G6").Value
Fichier = Nom & Format(Date, "yyyy-mm-dd") & "_" & ".xls"
Chemin = "H:\Gestion de production\Commande Archivage\"
ActiveWorkbook.SaveAs Chemin & Fichier
ActiveWorkbook.SendMail Recipients:="tata@toto.be"
ActiveWorkbook.Close savechanges:=False

MsgBox ("Nouvelle commande validée")
ThisWorkbook.Close savechanges:=False
Application.Quit
End Sub


ET il y a une erreur quand j'ouvre le classeur archivé, message d'erreur :
Le format est différent de celui spécifié par l'extension du fichier
Assurez-vous qu'il n'est pas endommagé ou qu'il provienne d'une source fiable?


Je ne comprends vraiment pas comment résoudre ce problème...
J'ai essayé de corriger l'extension de sauvegarde en xslx,xslm mais rien ne fonctionne...

Pouvez-vous m'aider?
merci
 
Re : Problème renommer avec sendmail

Re

A priori normal qu'il n'y ait pas les macros, puisque le nouveau classeur est créé à partir d'une feuille... essaye peut être ainsi :

Code:
Dim Nom As String, Fichier As String, Chemin As String
'ActiveSheet.Copy
Nom = Sheets("Commande").Range("G6").Value
Fichier = Nom & Format(Date, "yyyy-mm-dd") & "_" & ".xls"
Chemin = "H:\Gestion de production\Commande Archivage\"
ActiveWorkbook.SaveAs Chemin & Fichier
ActiveWorkbook.SendMail Recipients:="tata@toto.be"
ActiveWorkbook.Close savechanges:=False
MsgBox ("Nouvelle commande validée")

@+
 
- 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

Retour