Renommer classeur workbook.sendmail?

MikeBelgique

XLDnaute Occasionnel
Bonsoir forum,
Inspiré d'une macro de Thierry's Macro Démo sue www.Excel-Downloads.com, February 2003 que j'ai adapté à mon programme, depuis pas mal de temp je cherche à renommer le classeur du sendmail, malgré de nombreuses tentatives de ce que j'ai pu voir à travers de nombreux fils, rien à faire pas moyen de le renommer, soit bug, ou il me signale qu'il est impossible d'affecter une propriété en lecture seul

voici le code de thierry de pour copier la feuille active et d'activer le workbook.sendmail

Private Sub UserForm_Initialize()
Dim WS As Worksheet
Me.Caption = X
For Each WS In Worksheets
If WS.Name = ("BONNE FEUILLE") Then
ListBox1.AddItem WS.Name
End If
Next
ListBox1.Value = ListBox1.List(0)
End Sub

Private Sub ListBox1_Click()
Dim Feuille As String
Feuille = ListBox1.Value
Sheets(Feuille).Activate
End Sub

Private Sub CommandButton1_Click()
Unload Me
ActiveSheet.Copy

'j'ai beau tenter nombre de chose à partir d'ici pour renommer le classeur rien à faire

ActiveWorkbook.SendMail MailAdresse, MailSubject
MsgBox "Votre feuille a bien été envoyé"
ActiveWorkbook.Close 0
End Sub

Merci pour le coup de pouce, à bientôt
 

Zon

XLDnaute Occasionnel
Re : Renommer classeur workbook.sendmail?

Salut,

as-tu essayé la méthode saveas

Private Sub CommandButton1_Click()
Unload Me
ActiveSheet.Copy
activeworkbook.saveas "C:\Lenomdudossier\nomfichier.xls"
'j'ai beau tenter nombre de chose à partir d'ici pour renommer le classeur rien à faire

ActiveWorkbook.SendMail MailAdresse, MailSubject
MsgBox "Votre feuille a bien été envoyé"
ActiveWorkbook.Close 0
End Sub

A+++
 

MikeBelgique

XLDnaute Occasionnel
Re : Renommer classeur workbook.sendmail?

Bonjour Zon, désolé de répondre si tard mais j'avais complètement oublié ce fil, m'étant concentré sur d'autres problèmes. En fait saveas va me souvegarder le classeur ce qui n'est pas mon but, ci joint un fichier exemple avec la procédure de thierry que j'ai aménager selon mes besoin et donc dans la listebox seule la feuille ici en exemple sera sélectionnée et dès lors que l'on cliquera sur le bouton envoyer, la feuille sera copiée dans un nouveau classeur qui lui sera directement en pièce jointe dans l'email, et c'est ce classeur (pas la feuille) que je tente de renommer.
merci.
Mike
 

Pièces jointes

  • testemail.zip
    16.7 KB · Affichages: 57

Zon

XLDnaute Occasionnel
Re : Renommer classeur workbook.sendmail?

Salut,

Activeworkbook.saveas te sauvegarde le classeur actif qui est ton classeur temporaire (créé par le activesheet.copy) que tu désires envoyer avec une seule feuille.

Par contre, tu oublies de déclarer tes variables mailAdresse et mailsubject dans un module classique, par ex:
public MailAdresse$

de façon à pouvoir en garder son contenu malgré la fermeture de l'userform.

A+++
 

MikeBelgique

XLDnaute Occasionnel
Re : Renommer classeur workbook.sendmail?

Bonjour Zon, merci pour tes explication, cela fonctionne comme je le souhaitais, et si j'ai bien compris d'autres indices, en rajoutant
Application.DisplayAlerts = False avant
et
Application.DisplayAlerts = true après
ceci devrait m'éviter le message d'alerte "un fichier .... est déjà présent, voulez-vous le remplacer", et écraserait automatiquement le fichier tempon?
 

MikeBelgique

XLDnaute Occasionnel
Re : Renommer classeur workbook.sendmail?

Génial merci Zon, et dire que j'ai tant cherché pour une petite ligne à rajouter dont je n'avais pas bien saisi le sens premier de son application. Et donc j'enlève également la phrase à true inutile dans ce cas (là non plus je n'ai pas encore tout compris avec les false et les true, mais bon cela viendra avec le temp et l'expérience), de même que pour les modules (bien que cette question devrait peut-être faire partie d'un nouveau fil) qu'elle est la différence entre un module classic et un module class? aynt parcouru de nombreux fils et exemples je n'ai encore jamais vu l'utilisation d'un module class, bien que je peux supposer que ce dernier agit sur l'ensemble du classeur pour une action définie, mais dans quel cas est-il utilisé, car via un module ordinaire ou via le thisworbook, on peut également agir sur l'ensemble du classeur. Ah quelle richesse que cette complexité d'excel.
Merci à bientôt.
Mike
 

Discussions similaires

Réponses
7
Affichages
716
Réponses
2
Affichages
322

Statistiques des forums

Discussions
298 813
Messages
1 971 984
Membres
203 578
dernier inscrit
theo90170