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 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
    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,
      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