Pb renomage fichier lors de PJ par mail

  • Initiateur de la discussion Initiateur de la discussion rjcb
  • 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 !

rjcb

XLDnaute Occasionnel
Salut à tous!

Cette macro me permet d'envoyer la copie de la feuil1 de mon fichier text.xls.
Cette macro est dans le fichier test.xls.

Le pb, c'est lorsque j'envoie le mail il me renome le fichier test.xls en PlanificationSxx , alors que je voudrais simplement qu'il nome le fichier qu'il cré en temporaire, ce qu'il fait pour l'envoi.

Donc ma question:

Comment envoyer le fichier (ce qu'il fait très bien ace le nom comme y faut) sans renommer le fichier test.xls

Sub OBS()

Dim Source As Range
Dim Dest As Workbook
Dim wb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sujet As String
Dim S As String
S = Feuil1.Range("E2").Value

Set Source = Nothing
On Error Resume Next
Set Source = Range("A1:F200").SpecialCells(xlCellTypeVisible)
On Error GoTo 0

If Source Is Nothing Then
MsgBox "The source is not a range or the sheet is protected, please correct and try again.", vbOKOnly
Exit Sub
End If

With Application
.ScreenUpdating = False
.EnableEvents = False
End With

Set wb = ActiveWorkbook
Set Dest = Workbooks.Add(xlWBATWorksheet)

Source.Copy
With Dest.Sheets(1)
.Cells(1).PasteSpecial Paste:=8
.Cells(1).PasteSpecial Paste:=xlPasteValues
.Cells(1).PasteSpecial Paste:=xlPasteFormats
.Cells(1).Select
Application.CutCopyMode = False
End With

TempFilePath = Environ$("temp") & "\"
TempFileName = "PlanificationS" & S
Sujet = "Planification S" & S

FileExtStr = ".xls"

With Dest
SaveAs TempFilePath & TempFileName & FileExtStr
On Error Resume Next
.Close SaveChanges:=False
End With

With Dest
.SaveAs TempFilePath & TempFileName & FileExtStr
On Error Resume Next
Dim appOutlook As Outlook.Application
Dim message As Outlook.MailItem
Dim myRecipient As Object
Dim email As String
End With

'Crée une session Microsoft Outlook
Set appOutlook = CreateObject("outlook.application")

'Crée un nouveau message
Set message = appOutlook.CreateItem(olMailItem)

' initialisation de variables
email = "aert@boial.fr"

With message
.Subject = Sujet
.body = "Bonjour," & vbCr & vbCr
.Recipients.Add (email)
.attachments.Add TempFilePath & TempFileName & FileExtStr
.Send
End With

Kill TempFilePath & TempFileName & FileExtStr

With Application
.ScreenUpdating = True
.EnableEvents = True
End With

End Sub

Merci
 
Re : Pb renomage fichier lors de PJ par mail

Salut RJCB,

C'est normal que ton fichier envoyé porte le nom : PlanificationSxx
C'est inscrit dans ton code 😕

Tu as d'abord :
Code:
...
TempFilePath = Environ$("temp") & "\"
[COLOR=green][B]TempFileName = "[COLOR=red]PlanificationS[/COLOR]" & S
[/B][/COLOR]
Ensuite :
Code:
With Dest
[COLOR=green][B]SaveAs TempFilePath & TempFileName & FileExtStr
[/B][/COLOR]On Error Resume Next
.Close SaveChanges:=False
End With
Et pour finir :
Code:
With message
.Subject = Sujet
.body = "Bonjour," & vbCr & vbCr
.Recipients.Add (email)
[COLOR=green][B].attachments.Add TempFilePath & TempFileName & FileExtStr
[/B][/COLOR].Send
End With

A toi de changer le code de départ (en rouge), si tu veux modifier le nom !

Voilà 🙄
 
Re : Pb renomage fichier lors de PJ par mail

Salut!

Oui, C'est normal que mon fichier envoyé porte le nom : PlanificationSxx 😀 c'est ce que je veux.

Par contre je ne veux pas que le fichier qui comporte la macro (test.xls soit renomer lui),

La macro doit juste créer une copie de la feuil1 du fichier text.xls (ce qu'elle fait) et doit juste nommé cette copie en PlanificationSxx (ce qu'elle fait aussi) dans /temp puis envoyé mais pas renommé le fichier text.xls en PlanificationSxx ...

Merci
 
Dernière édition:
Re : Pb renomage fichier lors de PJ par mail

Re salut!

J'ai 1 fichier test.xls qui contient la macro sur la feuill2 et des données sur la feuill1

Sur la feuill2, il y a un bouton qui permet d'envoyer 1 mail avec 1 fichier attaché.
Ce fichier attaché est la copie des données qui se trouvent dans la feuill 1 du fichier test.xls.

Le fichier attaché doit comporté le nom PLanification Sxx (cela fonctionne)

PAr contre le fichier test.xls doit pas bouger, son nom doit rester test.xls.
Je sais pas si je suis plus clair :/

😱
 
- 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
5
Affichages
703
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
908
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
529
Réponses
4
Affichages
671
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
370
Retour