Ouvrir Microsoft Office Outlook à l'aide d'une adresse mail contenue dans une textbox

Pogopogow

XLDnaute Nouveau
Bonjour à tous,

Presque tout est dit dans l'intitulé :

J'ai créé une userform avec une listbox : lorsque l'on selectionne une valeur dans la listbox et que l'on valide, il apparait l'adresse mail de quelqu'un dans une textbox. Voilà j'aimerai maintenant que, si je clique sur cette adresse mail, celà m'ouvre Outlook afin de rédiger un courrier avec comme destinataire l'adresse mail précédemment dite.

J'esperes que tout est clair
Merci d'avance
Cdlt
 

JBARBE

XLDnaute Barbatruc
Re : Ouvrir Microsoft Office Outlook à l'aide d'une adresse mail contenue dans une te

Bonjour,

Cette macro fait appel à Outlook 2003 et non Outlook Express !

Avant de lancer la macro, dans la fenêtre de l'éditeur VBA choisir la commande Outils/Références et cocher Microsoft Outlook 11.0 Object Library !

Ensuite assure toi qu'Outlook est bien configuré en déclarant un compte.
Commande Outils/Comptes de messagerie
Si la fenêtre des compte est vide > créer en clic sur Ajouter
Complete le boîte de dialogue avec les données du compte(nom, serveurs.....)
La macro envoie les messages à partir du compte par défaut ( sélectionner le compte et clic sur bouton par défaut!

Clic sur l'onglet Outlook
Lance la macro Email

Clic sur OUI pour les messages de mise en garde

Le double message " paranoïaque" bloque l'action de virus mais il est plutôt encombrant pour l'execution de la macro!

Pour cela installe un petit programme gratuit Express ClickYes

A program is trying to send e-mail on your behalf. Stop this message with ClickYes.

clic sur l'icone de CliclYes.Setup.exe

Next

Licence Agreement > coche Iagree > next

next

Finish

clic droit sur l'icone ( barre des tâches) > commande Resume

Lorsque macro est terminée > commande Suspend

Code:
Sub Email()
Dim outlookDossier As Outlook.MAPIFolder
Dim outlookMessage As Outlook.MailItem
Dim vAdresse As String
Dim vObjet As String
Dim vMessage As String
Dim vCellule As Object
For Each vCellule In Range("A21:A30")
    vMessage = vMessage & vCellule & Chr(10)
Next
Range("C2").Select
Do While ActiveCell <> ""
    vAdresse = ActiveCell
    vObjet = "test"
    Set outlookDossier = GetObject("", "Outlook.Application").GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
    Set outlookMessage = outlookDossier.Items.Add
    vMessage = "Bonjour " & Selection.Offset(0, -2) & "," & Chr(10) & vMessage
    With outlookMessage
        .Subject = vObjet
        .Recipients.Add vAdresse
        .Body = vMessage
        .OriginatorDeliveryReportRequested = False
        .ReadReceiptRequested = False
        .Send
    End With
    ActiveCell.Offset(0, 1) = "x"
    ActiveCell.Offset(1, 0).Select
Loop
Set outlookMessage = Nothing
Set outlookDossier = Nothing
End Sub


Certes ce n'est pas ta demande mais cela donne un aperçu du fonctionnement d'Outlook 2003

A+
 

Pièces jointes

  • Outlook_2003.xls
    72 KB · Affichages: 68
  • Outlook_2003.xls
    72 KB · Affichages: 73
  • Outlook_2003.xls
    72 KB · Affichages: 72
Dernière édition:

Pogopogow

XLDnaute Nouveau
Re : Ouvrir Microsoft Office Outlook à l'aide d'une adresse mail contenue dans une te

Oui effectivement tu as pris le problème à l'envers. C'est bien à partir d'excel 2003 que je souhaite ouvrir outlook 2003.

C'est lorsque je clique sur l'adresse mail apparue dans ma textbox que la fenêtre outlook (pour envoyer un mail) s'affiche avec ou non ses coordonnées (pour faciliter la tâche).

Ou plus simplement lorsque je clique sur la textbox (avec ou sans l'adresse), la fenêtre pour envoyer un mail Outlook s'affiche. Mon compte outlook est déjà créé. Tout est ok de ce côté. Peux t'on faire un lien depuis Excel 2k3 vers Outlook 2k3 ?
 

tototiti2008

XLDnaute Barbatruc
Re : Ouvrir Microsoft Office Outlook à l'aide d'une adresse mail contenue dans une te

Bonjour Pogopogow, Bonjour JBARBE,

Bienvenue sur XLD,

Peut-être

Code:
Private Sub TextBox1_Enter()
    If TextBox1.Text <> "" Then
        Range("A65536").Hyperlinks.Delete
        ActiveSheet.Hyperlinks.Add Anchor:=Range("A65536"), Address:= _
            "mailto:" & TextBox1.Text, TextToDisplay:=""
        Range("A65536").Hyperlinks(1).Follow
        Range("A65536").Hyperlinks.Delete
    End If
End Sub
 

JBARBE

XLDnaute Barbatruc
Re : Ouvrir Microsoft Office Outlook à l'aide d'une adresse mail contenue dans une te

Bonjour tototiti & pogopogow,

A tu bien lu les dispositions à prendre avant de lancer la macro ( que tu peux ne pas lancer) que j'ai précisé précédemment !
 

Discussions similaires

Statistiques des forums

Discussions
312 025
Messages
2 084 749
Membres
102 652
dernier inscrit
Helpmeplz