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

mail selon choix dans combobox

ploz

XLDnaute Occasionnel
Bonsoir à tous

je recherche de l'aide pour l'envoie par mail de ma feuille en pdf suivant le choix effectuer dans ma combobox

un exemple. Si dans la combobox, je clique sur Departement 1, en cliquant sur sur le bouton "Enregister", j'enverrai un mail à Monsieur X + monsieur A + Monsieur B, si dans la combobox, je clique sur departement 2, en cliquant sur le bouton "envoyer", j'enverrai un mail à Monsieur Y + monsieur A et monsieur B

a savoir que ma combobox se déroule comme cela

Code:
With monsieur_metier
    .AddItem "monsieur X"
    .AddItem "Y"
    .AddItem "A"
    .AddItem "B"
End With


j'ai déjà un bout de code pour outlook qui et fonctionnel =) pour la perte d'un mdp

le voici


Merci d'avance pour votre aide
 

Lone-wolf

XLDnaute Barbatruc
Re : mail selon choix dans combobox

Bonjour ploz,

si tu as fait un test avec mon fichier, tu as dû voir que le pdf viens se mettre en pièce jointe. Maintenant quand tu clique su Envoyer la PJ vas partir automatiquement avec le message.


A+
 

ploz

XLDnaute Occasionnel
Re : mail selon choix dans combobox

Bonjour,

oui oui c'est du bon boulot, cependant le mieux je voudrais que mes adresse mail soit directement dans le code sa me permettrais de me repérer mieux enfin je pense, du genre
IF XXX = "Departement 1" THEN destinataires=" Monsieur X;monsieur A;Monsieur B"
IF XXX = "departement 2" THEN destinataires = "Monsieur Y;monsieur A;monsieur B"

voici la deuxieme idée

Regarde la pièce jointe Classeur1.xlsm le descriptif est a l'interieur

merci de ton aide en tout cas c'est gentil de venir en aide à un débutant =)
 

Pièces jointes

  • Classeur1.xlsm
    123.3 KB · Affichages: 35

Lone-wolf

XLDnaute Barbatruc
Re : mail selon choix dans combobox

Re ploz,

j'ai repris la macro de mon fichier pour le bouton Envoyer, je pense que l'exemple sera plus compréhensible.


Code:
Dim Exp, PersA, PersB, Couple, Chemin As String, Fin as Boolean

Private Sub CmdEnvoyer_Click()
Dim olApp, objMail
Dim olmail As MailItem
           
      'Pour les 3 Nom complet & Adresse email
Exp = TextBox8.Value & "<" & TextBox10.Value & ">"
PersA = TextBox2.Value & "<" & TextBox4.Value & ">"
PersB = TextBox5.Value & "<" & TextBox7.Value & ">"

Couple = PersA & ";" & PersB

Chemin = Application.GetOpenFilename("Fichier pdf,  *.pdf*")
ChDrive "D:"
ChDir ("D:\Pdf-doc\")  'DD et Chemin à modifier.
    
    Set olApp = CreateObject("Outlook.Application")
    Set objMail = olApp.CreateItem(olMailItem)
    
    With objMail
    .To = Exp
    .CC = Couple
    .Subject = "Test"
    .Body = "Bonjour !"
    .Display
    End With

On Error GoTo Fin
If VarType(Chemin) <> 11 Then
objMail.Attachments.Add Chemin
End If
Fin:
Application.DisplayAlerts = False
Exit Sub
End Sub

comme tu peux le voir ici, il te suffit de rajouter d'abord les variables (PersC-PersD-PersE), puis faire comme l'exemple donné.



A+
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : mail selon choix dans combobox

Re ploz,

Il faut que tu insère des colonnes entre chaque département pour y mettre le nom des correpondants, parce-que tu ne peux pas envoyer des mails sans mettre le nom complet.



Ensuite, copie ceci dans un module

Code:
Dim Exp, Groupe, Chemin As String, Fin as Boolean

Private Sub CmdEnvoyer_Click()
Dim olApp, objMail
Dim olmail As MailItem
           
with Sheets("BD")
lig = .Range("d65536").end(xlup).row

For i = 2 to lig
Exp = .Cells(i, 1) & "<" & .Cells(i, 4)  & ">"

P1 = .Cells(i, 5) & " " & .Cells(i, 6)  
P2 = .Cells(i, 7) & " " & .Cells(i, 8)  
P3 = .Cells(i, 9) & " " & .Cells(i, 10)  
P4 = .Cells(i, 11) & " " & .Cells(i, 12)  
P5 = .Cells(i, 13) & " " & .Cells(i, 14)  
P6 = .Cells(i, 15) & " " & .Cells(i, 16)  
Next i
End With

Groupe = P1 & "; " & P2 & "; " & P3 & "; " & P4 & "; " & P5 & "; " & P6

'Chemin = Application.GetOpenFilename("Fichier pdf,  *.pdf*")
'ChDrive "D:"
'ChDir ("D:\Pdf-doc\")  'DD et Chemin à modifier.
   
    Set olApp = CreateObject("Outlook.Application")
    Set objMail = olApp.CreateItem(olMailItem)
   
    With objMail
    .To = Exp
    .CC = Trim(Groupe)
    .Subject = "Test"
    .Body = "Bonjour !"
    .Display
    End With

On Error GoTo Fin
If VarType(Chemin) <> 11 Then
objMail.Attachments.Add Chemin
End If
Fin:
Application.DisplayAlerts = False
Exit Sub
End Sub



A+
 

Pièces jointes

  • colonnes.jpg
    22.2 KB · Affichages: 14
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : mail selon choix dans combobox

Re ploz,

on c'est croisés, pendant que tu copiais le code , j'ai apporté la modif. Il faut enlever les derniers crochets après P6. AA-CC-EE etc., ce sont les noms et prénoms des personnes à qui tu envoies les mails.


A+
 

Lone-wolf

XLDnaute Barbatruc
Re : mail selon choix dans combobox

Re ploz,

normal puisque la macro se trouve dans le module. Avant, change Private Sub CmdEnvoyer_Click()
par Sub Envoyer().

Ensuite dans le bouton Enregistrer avant End Sub tu mets Call Envoyer.

Oubien tu rajoute un bouton avec comme nom CmdEnvoyer puis,
dans Private Sub CmdEnvoyer_Click() tu copie la macro End Sub.



A+
 
Dernière édition:

Discussions similaires

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