Ajouter une extension de fichier au PDF généré depuis Excel

Bonjour,

J’ai trouvé une macro qui génère un fichier PDF depuis mon onglet Excel afin de l’enregristrer et de l’envoyer par mail.

Mon problème est que je ne sais pas comment ajouter d’autres valeurs (un nom + date) au nom de l’onglet d’origine

Voici la macro (ligne 17):

Sub Envoyer_un_mail_avec_pdf()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder As String
Dim xYesorNo As Integer
Dim xOutlookObj As Object
Dim xEmailObj As Object
Dim xUsedRng As Range

Set xSht = ActiveSheet
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)

If xFileDlg.Show = True Then
xFolder = xFileDlg.SelectedItems(1)
Else
MsgBox « vous devez spécifier un dossier dans lequel enregistrer le PDF. » & vbCrLf & vbCrLf & « Appuyez sur OK pour quitter. », vbCritical, « Vous devez spécifier le dossier de destination »
Exit Sub
End If
xFolder = xFolder + "" + xSht.Name + « .pdf »

'Check if file already exist
If Len(Dir(xFolder)) > 0 Then
xYesorNo = MsgBox(xFolder & " existe déjà." & vbCrLf & vbCrLf & « Voulez-vous l’écraser ? », _
vbYesNo + vbQuestion, « Le fichier existe déjà »)
On Error Resume Next
If xYesorNo = vbYes Then
Kill xFolder
Else
MsgBox « si vous n’écrasez pas le PDF existant, vous ne pouvez pas continuer. » _
& vbCrLf & vbCrLf & « Appuyez sur OK pour quitter. », vbCritical, « Quitter »
Exit Sub
End If
If Err.Number <> 0 Then
MsgBox « Impossible de supprimer le fichier existant. Veuillez vous assurer que le fichier n’est pas ouvert ou protégé en écriture. » _
& vbCrLf & vbCrLf & « Appuyez sur OK pour quitter. », vbCritical, « Impossible de supprimer le fichier »
Exit Sub
End If
End If

Set xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Then
'Save as PDF file
xSht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFolder, Quality:=xlQualityStandard

'Create Outlook email
Set xOutlookObj = CreateObject("Outlook.Application")
Set xEmailObj = xOutlookObj.CreateItem(0)
With xEmailObj
    .Display
    .To = Range("B81").Value
    .CC = Range("B82").Value
    .Subject = Range("B80").Value
    .Body = Range("B83").Value
    .Attachments.Add xFolder
    If DisplayEmail = False Then
        '.Send
    End If
End With

Else
MsgBox « La feuille de calcul active ne peut pas être vide »
Exit Sub
End If
End Sub

Je souhaiterai obtenir « nom de l’onglet »_« nom de mon fournisseur en cellule B1 »_date

Merci d’avance pour votre aide

Bonjour,
et bien:

il faut l’changer en :

xFolder = xFolder &"\"& xSht.Name &"_"& range("B1") & ".pdf "

Cordialement
Will-Fread

Merci @Jacquinot_WILL-FREAD cela fonctionne

J’ai également ajouté la date à la fin de l’extension :
xFolder = xFolder + "" + xSht.Name + « " + Range(« B1 ») + " » + Format(Date, « yyyy-mm-dd ») + « .pdf »

1 « J'aime »

Re,
Ce fut un plaisir !

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.