Macro VBA

didwin Messages postés 56 Date d'inscription   Statut Membre Dernière intervention   -  
Bidouilleu_R Messages postés 1181 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

4 réponses

toto1983 Messages postés 205 Date d'inscription   Statut Membre Dernière intervention   13
 
Bon pour débuter : https://codes-sources.commentcamarche.net/

Moi aussi je vais passer par là, mais bon rien ne vaut les bouquins ou les e-Books concernant le VBA, là tu apprends réellement l'essentiel
0
Bidouilleu_R Messages postés 1181 Date d'inscription   Statut Membre Dernière intervention   295
 
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
didwin Messages postés 56 Date d'inscription   Statut Membre Dernière intervention  
 
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
pou pouille Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   31
 
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
Bidouilleu_R Messages postés 1181 Date d'inscription   Statut Membre Dernière intervention   295
 
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