Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 envoie par mail en fonction Combobox

jeromeN95

XLDnaute Impliqué
Bonsoir,
j'aimerai envoyer par mail 1 ou plusieurs (jusqu'à 5) feuilles (30 onglets) en fonction d'un choix de ComboBox.
J'ai crée un tableau de correspondance.
J'arrive à alimenter les 5 Combobox

J'arrive à envoyer par mail.

Je n'arrive pas à modifier ce code pour lui faire comprendre d'envoyer seulement les onglets (feuilles) sélectionner dans les combobox (de 1 à 5).

VB:
Option Explicit

Public Sub env_Proto() 'Envoie le ou les protocoles par mail
Dim omg As Object
Dim msg As String
Dim tcl As Long
Dim fic As String
    On Error GoTo fin

    Sheets("ComboBoxi").Visible = True 'affiche l'onglet en fonction de la selection  car caché à l'ouverture du fichier
    fic = ThisWorkbook.Path & "\Protocole d'utilisation des produits.pdf"      'nom voulu pour le correspondant
  
    If Dir(fic) <> "" Then Kill fic    'on crée le fichier PDF dans le même dossier que le fichier source
    Sheets("ComboBoxi").ExportAsFixedFormat Type:=xlTypePDF, Filename:=fic _
                , Quality:=xlQualityStandard, IncludeDocProperties:=True, _
                IgnorePrintAreas:=False, OpenAfterPublish:=False
    Set omg = CreateObject("CDO.Message")
    With omg
        .Subject = "Protocole d'utilisation des produits"        'sujet
        .From = "jer@fournisseur.fr"      ' adresse mail de l'expéditeur
        .To = [A25].Value              ' Email du destinataire
       ' .CC = [A5].Value                 'vendeur en copie
        .TextBody = "Bonjour, veuillez trouver ci-joint le(s) protocole(s) d'utilisation de nos produits. Bien à vous, La Sociétée"
        With .Configuration.Fields
            .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.orange.fr"
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
            .Update
        End With
        .AddAttachment (fic)
        .Send
    End With
    Kill fic    'après l'envoi la feuille PDF est supprimée
      
      
        Sheets("ComboBoxi").Visible = False 're-masque l'onglet

fin:       ' si erreur on sort de la procédure : description de l'erreur survenue
If Err.Number <> 0 Then MsgBox "Anomalie détectée" & vbLf & vbLf & Err.Description

   Unload Protocole 'ferme l'Userform de séléction des protocoles

End Sub
 

Pièces jointes

  • Combobox choix.xlsm
    104.2 KB · Affichages: 9

Dranreb

XLDnaute Barbatruc
Le mieux serait de donner un seul nom à l'ensemble, ou mieux d'en faire un tableau à références structurées. Je me demande d'ailleurs si ce ne serait pas plus pratique de le classer par marque plutôt que par actions.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…