Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Outlook > VBA Outlook
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/11/2007, 15h05   #1
Invité de passage
 
Inscription : octobre 2004
Messages : 19
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 19
Points : 3
Points : 3
Par défaut création automatique de mail par vba

Bonjour le forum,

J'aimerai créer des mails dont les champs (destinataire, sujet, corps) seraient remplis automatiquement d'après les renseignements d'un userform.
Je m'explique:
j'aimerai pouvoir lancer une macro qui m'afficherait un UserForm avec des ListBox, Label ou autres. Ces champs seraient alors remplis par l'utilisateur. Lorsque celui-ci aura remplis tous les champs, un clic sur un bouton lui lancera outlook et lui affichera son mail avec toutes les indications qu'il aura noté dans l'UserForm. Il ne lui restera plus qu'à envoyer le mail.
C'est pour la création de mails génériques avec tout le temps les mêmes adresse de messagerie, les mêmes sujets et corps de mail à utiliser...

Merci de votre aide...

Nico
nico0007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2007, 15h37   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 356
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 356
Points : 29 273
Points : 29 273
Peut-être une piste ?

Ici
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2007, 15h50   #3
Invité de passage
 
Inscription : octobre 2004
Messages : 19
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 19
Points : 3
Points : 3
Merci à toi pour ta réponse rapide!!

J'ai travaillé un peu de mon côté et choisie cette solution assez simple:
Code :
1
2
3
4
5
6
7
8
9
Dim objOutlook As New Outlook.Application
Dim objOutlookMsg As Outlook.MailItem
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
With objOutlookMsg
       .To = ComboBox1.Value
       .Subject = ComboBox2.Value
       .Body = TextBox1.Value
       .Send
End With
Je commence juste donc ce code reste très perfectible...

Ciao
nico0007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2007, 16h12   #4
Invité de passage
 
Inscription : octobre 2004
Messages : 19
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 19
Points : 3
Points : 3
Bon bah je savais bien que j'allais sécher qqpart...

J'aimerai en effet pouvoir mettre une pièce jointe à mon envoi. Pour ça j'aimerai pouvoir ouvrir une boîte de dialogue type Open qui me permettrait d'attacher le fichier choisie.
Une idée?

Merci
nico0007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2007, 17h43   #5
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 356
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 356
Points : 29 273
Points : 29 273
Ben oui, il te suffit d'ouvrir une boîte de dialogue pour avoir une variable qui serait le nom et le chemin du fichier et de l'attacher.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 09h16   #6
Invité de passage
 
Inscription : octobre 2004
Messages : 19
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 19
Points : 3
Points : 3
Bonjour,
Oui je sais que je dois ouvrir une boîte de dialogue et récupérer le chemin du fichier, seulement je n'arrive pas à trouver la syntaxe. J'ai essayé un tas de fonction qui ne me donnent pas satisfaction...
De plus j'ai écris ce code dans excel avec une userform Excel, aurai-je dû faire autrement?

Merci
nico0007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 10h14   #7
Membre chevronné
 
Avatar de Oliv-
 
Inscription : mars 2006
Messages : 643
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : mars 2006
Messages : 643
Points : 699
Points : 699

Pourquoi excel ?
Oliv- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 10h27   #8
Invité de passage
 
Inscription : octobre 2004
Messages : 19
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 19
Points : 3
Points : 3
lol
Parce que je n'ai pas d'environnement de dev VB. J'utilise donc l'environnement bureautique d'Excel. Une macro que les user pourront utiliser facilement...
nico0007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 11h50   #9
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 356
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 356
Points : 29 273
Points : 29 273
Mais on peut très bien faire des UserForm avec VBA en Outlook, on le fait de la même façon qu'avec Excel !
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 13h06   #10
Membre chevronné
 
Avatar de Oliv-
 
Inscription : mars 2006
Messages : 643
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : mars 2006
Messages : 643
Points : 699
Points : 699
Alors pourquoi ne pas créer ton userform dans outlook ? tu éviteras en plus les messages de sécurité ?

pour ajouter un pj c'est :
objOutlookMsg.Attachments.add "z:\ATT666206.gif"
objOutlookMsg.Attachments.add ("z:\madonna.bmp")
à répéter autant de fois que de PJ

Pour selectionner un fichier tu peux utiliser soit un objet excel


Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub SelectionneUnFichier()
Set appExcel = CreateObject("Excel.Application")
appExcel.Visible = True
Set Toto = appExcel.FileDialog(msoFileDialogFilePicker)
Toto.Show
appExcel.Visible = False
For Each fichier In Toto.SelectedItems
MsgBox fichier
Next
Set appExcel = Nothing
End Sub
Comme tu as un userform tu peux ajouter un composant "Microsoft Common Dialog Control 6.0" (comdlg32.ocx) (clic droit dans la boite à outils)

Avec
Code :
1
2
3
4
Private Sub UserForm_Initialize()
CommonDialog1.ShowOpen
MsgBox CommonDialog1.FileName
End Sub
ou si le mail existe déjà la boite de dialogue insérer fichier.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub ShowDialog()
    Dim objInsp
    Dim colCB
    Dim objCBB
    On Error Resume Next
    Set objInsp = ActiveInspector
    Set colCB = objInsp.CommandBars
    Set objCBB = colCB.FindControl(, 1079) 'Insérer un Fichier
    If Not objCBB Is Nothing Then
       Set titi = objCBB.Execute
    End If
    MsgBox objCBB
    Set objCBB = Nothing
    Set colCB = Nothing
    Set objInsp = Nothing
End Sub
Oliv- est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h11.


 
 
 
 
Partenaires

Hébergement Web