Enregistrer feuille en pdf dans dossiers
D
Bonsoir, j'ai mon code ci qui me permet de mettre en pdf et d'envoyer la feuille que je veux par mail.
J'aimerais pouvoir enregistrer le feuille dans un dossiers tant en pdf qu'en excel.
cela est t'il possible ? si oui de bien vouloir m'aider
Private Sub CommandButton6_Click()
Dim Ind As Integer, NbFeuil As Integer
Dim sNomFic As String, sRep As String
Dim TabFeuil() As String
Dim WshShell As Object
Dim Sht As Worksheet
Dim OutApp As Object, OutMail As Object
'
' Demander quelle feuille
UsF_ChoixImp.Show
'
' Vérifier si au moins 1 feuille a été selectionnée, sinon on sort
If ListeFeuilSel = "" Then Exit Sub
'
' Définir le tableau des feuilles
TabFeuil = Split(ListeFeuilSel, ",")
' Nombre de feuille sélectionnées
NbFeuil = UBound(TabFeuil)
'
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
' Créer une instance Windows Script pour retrouver le chemin du bureau
Set WshShell = CreateObject("WScript.Shell")
sRep = WshShell.SpecialFolders("Desktop")
Set WshShell = Nothing
' Créer une instance Outlook et mail
Set OutApp = CreateObject("outlook.application")
Set OutMail = OutApp.CreateItem(0)
' Afficher le mail pour la signature et définir les éléments souhaités
With OutMail
.To = "dj54645@icloud.com"
.Cc = ""
.Subject = "FICHE DE STOCK"
End With
' Ensuite il faut générer les feuilles
' Pour chaque feuille
For Ind = 0 To NbFeuil
With Sheets(TabFeuil(Ind))
' Afficher la feuille
.Visible = xlSheetVisible
' Nom de la feuille comme nom de fichier
sNomFic = .Name & ".pdf"
' L'exporter au format PDF
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sRep & "\" & sNomFic, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
' Masquer la feuille
.Visible = xlSheetHidden
End With
' Attacher la feuille au mail
OutMail.Attachments.Add sRep & "\" & sNomFic
' Une fois attacher, on peut le supprimer
Kill sRep & "\" & sNomFic
Next Ind
' Uns fois terminé, on peut envoyer le mail
OutMail.Send
' Réactiver l'écran et les évènements
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End SubBonjour,
voici un exemple,
rep = "C:\Users\isabelle\Documents\"
With Sheets(TabFeuil(Ind))
nm = .Name
.Copy
End With
ActiveWorkbook.SaveAs Filename:=rep & nm, FileFormat:=52, CreateBackup:=False
'51 = xlOpenXMLWorkbook (without macro's in 2007-2016, xlsx)
'52 = xlOpenXMLWorkbookMacroEnabled (with or without macro's in 2007-2016, xlsm)
'50 = xlExcel12 (Excel Binary Workbook in 2007-2016 with or without macro's, xlsb)
'56 = xlExcel8 (97-2003 format in Excel 2007-2016, xls)
ActiveWindow.CloseD
Bonjour
merci de votre reponse, ou est ce que je dois mettre ce code stp