XL 2016 Trier en fonction de la date et mettre les element en pdf

djidji225

XLDnaute Nouveau
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
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
 

Discussions similaires

Réponses
2
Affichages
277

Statistiques des forums

Discussions
290 716
Messages
1 909 851
Membres
176 453
dernier inscrit
Nollan97
Haut Bas