Macro VBA

Bonjour,

Je voudrais faire une petite macro qui me parait simple mais étant novice je rame. voila ce que je veux faire 1) je veux copier une adresse mail qui se trouve dans une classeur excel ensuite je veux aller dans outlook créer un nouveau message et coller l adresse mail.

merci de votre aide

Didwin
Configuration: Windows 2003 Internet Explorer 6.0

4 réponses

  1. Bonjour,
    je veux pas taper l'incruste mais pour vous aider....
    Vous adapterer selon vos besoin présent ou futur

    Sub Send_Mail_Outlook()
    
    'Il faut activer la référence "Microsoft Outlook Library" Avant de lancer cette macro, on fait ...
    ' Dans l'éditeur VBA: Faire Menu / Tools / Reference / Cocher "Microsoft Outlook Library"
    
       Dim ObjOutlook As New Outlook.Application
       Dim ObjOutlookmail As MailItem
       Dim NomFichier As String
       
       Set ObjOutlook = New Outlook.Application
       Set oBjMail = ObjOutlook.CreateItem(olMailItem)
       
    'pour récupérer le nom du fichier + le chemin 
    ' méthode facile
    
       Nom_Fichier = Application.GetOpenFilename("Fichier excel (*.xls;*.xlsx;*.xlsm), *.xls;*.xlsx;*.xlsm")
        If Nom_Fichier = "Faux" Then Exit Sub
        If VarType(Nom_Fichier) = vbBoolean Then Exit Sub
    
    
       
       
       With oBjMail
          .To = Range("a3").Value                        ' le destinataire
          .Subject = Range("a1").Value                 ' l'objet du mail
          .Body = "Ici le texte Blblblbla " & Chr(10) & Range("a2").Value     'le corps du mail ..son contenu
          .Attachments.Add "C:\Data\essai.txt"        ' ou Nomfichier
          .Display  '   Ici on peut mettre                  '.Send' pour l'envoyer sans vérification
          
    
       End With
        
        ObjOutlook.Quit  ' on libère l'objet après utilisation très important
       
    End Sub
    0
    1. merci de ton info mais je suis bloqué si tu veux je pars de mon fichier excel qui est déja ouvert et ma macro par de ce fichiel elle doit récupérer l adresse mail en b20 puis aller la coller dans outlook pour que je fasse le message merci par avance.

      Didiwin
      0
      1. pour le destinataire tu n'as que cela à changer...
        .To = Range("a3").Value ->
        .To = Range("b20").Value

        pour la suite je ne sais pas faire (enfin avec la méthode précédente, tu peut écrir ton message d'abord dans excel dans une cellule par exemple la A2)
        .Body = Range("a2").Value
        0
    2. bonjour didwin, et pou pouille, merci pour le suivi

      dans le module que je te donne
      j'ai mis range("a3") .Value car je n'avais pas le temps de modifier mon code....
      l'objet oBjMail peut contenir différents champ
      tu l'utilises comme une variable typée.

      oBjMail.To="Jean Dupont"
      mais tu pourrais aussi bien écrire

      Dim Destinataire as string
      Destinataire=range("A20").value
      oBjMail.to=Destinataire
      et pareil pour le message du corps
      par exemple
      Dim Msg as string
      Msg=chr(10)&chr(10) & "Bonjour," &Chr(10) & chr(10)&Chr(10) & chr(10)&"Salutations"

      ce qui donne....

      With oBjMail
      .To = Destinataire ' le destinataire
      .Subject = "Essai pour voir" ' l'objet du mail
      .Body = msg 'le corps du mail ..son contenu
      .Attachments.Add "C:\Data\essai.txt" ' ou Nomfichier si tu n'en veux pas tu l'enlèves
      .Display ' Ici on peut mettre '.Send' pour l'envoyer sans vérification

      End With
      0