Bonsoir
j'ai un bouton dans mon userform qui me permet d'envoyer une feuille par mail.
Sur cette feuille il y a tous les enregistrement
j'aimerais savoir si c'est possible d'afficher un petit userform de choix de date ex : mois de janvier OU du xx/xx/2020 au xx/xx/2020
afin de pouvoir envoyer les feuilles en fonction des dates dont on a besoin
voici le code qui me permet d'envoyer par mail
j'ai un bouton dans mon userform qui me permet d'envoyer une feuille par mail.
Sur cette feuille il y a tous les enregistrement
j'aimerais savoir si c'est possible d'afficher un petit userform de choix de date ex : mois de janvier OU du xx/xx/2020 au xx/xx/2020
afin de pouvoir envoyer les feuilles en fonction des dates dont on a besoin
voici le code qui me permet d'envoyer par mail
Code:
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 = "xxxxxxxxx@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 Sub