Récupérer adresse mail à partir du nom dans un cellule

Bonjour,

J'ai créé une macro qui me permet d'envoyer un mail automatique aux adresses mail figurant dans mon tableau excel lorsque certaines conditions sont respectées.

Actuellement, pour que le mail soit envoyé, il faut donc que je rentre manuellement les adresses mail correspondant à chaque personne présente dans le tableau. Sachant que je rentre aussi le nom + prénom des personnes, est-ce qu'il ne serait pas possible de récupérer automatiquement l'adresse mail dans le carnet d'adresse outlook de mon entreprise (contacts partagés, pas contacts perso) ?

Voici le code que je souhaite modifier. Vous trouverez également le fichier en PJ pour mieux comprendre.

'Définition des variables
Public Sub EnvoiMailRappel()
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim adresse As String
Dim message As String
Dim sujet As String

sujet = "Retour Prêt" 'Définition du sujet de l'email
For i = 3 To Range("a" & Rows.Count).End(xlUp).Row 'Définition de la plage de test (de la 3ème ligne jusqu'à première cellule vide de la colonne a
If Range("o" & i) = "" Then 'Si aucun mail n'a été envoyé alors on lance la recherche sur la date

If Range("h" & i) <> "" And Range("i" & i) <> "" And Now() > Range("i" & i) Then ' Si la cellule de date prêt n'est pas vide et que la date de retour est arrivée à expiration alors envoyer le mail

adresse = Range("g" & i) 'Recherche l'adresse mail du destinataire
' Définition du message
message = "Bonjour " & Range("e" & i) & "," & vbCrLf & vbCrLf & "Un " & Range("a" & i) & " " & _
Range("b" & i) & " " & "ayant pour IMEI " & Range("c" & i) & " " & "t'a été prêté le " & _
Range("h" & i) & ". " & "La période de prêt étant arrivée à échéance, merci de bien vouloir nous le rapporter, ou à défaut, me contacter." & _
vbCrLf & vbCrLf & "Bien cordialement," & vbCrLf

'Paramètres de l'application mail
Set OutlookApp = CreateObject("outlook.application")
Set OutlookMail = OutlookApp.createitem(0)
With OutlookMail
.Subject = sujet
.To = adresse
.body = message
.send 'envoi du mail

Range("o" & i).Value = Now 'lorsqu'un mail a été enovyé, la cellule en i est remplie avec la date d'envoi du mail afin d'éviter l'envoi de plusieurs mails

End With

End If
End If
Next i

End Sub

Merci d'avance pour votre aide.

Bien cordialement,

mdb008

216base-de-test.xlsm (221.07 Ko)

Bonjour, mdb008

Je possède un programme similaire, je te joins une copie

Bonne journée

Papy Pierrot

Bonjour Pierre,

Merci de ta réponse. Cependant, je crois que ton programme ne correspond pas exactement à ce que je recherche.

Je ne sais pas si je me suis bien expliqué mais mon programme permet d'envoyer un mail automatique aux adresses figurant dans la colonne F. Au lieu de saisir manuellement ces adresses, je souhaiterai que le programme récupère automatiquement les adresses mails à partir des noms figurant en colonne E. Malheureusement, il me semble que ton programme ne permet pas de faire cela.

Si je me trompe et que ton programme permet bien de résoudre mon problème, je veux bien que tu m'explique plus en détail son fonctionnement.

Merci beaucoup !

mdb008

Salut mdb008

c'est bien le bon fichier

je te le remets modifié avec les noms en colonne"E" et les adresses mail en "F"

Si tu as des problèmes, tu peux m'envoyer ton fichier directement sur mon adresse mail

pierrotcappe@gmail.com

Amicalement

Pierrot

Je suis désolé mais je ne comprend vraiment pas comment fonctionne ton code et comment il peut être capable de récupérer des adresses mail dans le carnet d'adresse outlook... D'après ce que j'ai compris, la feuille 2 récupère les adresses mail en feuille 1 nan ?

Si tu veux récupérer mon fichier, je l'ai déjà joint dans mon premier message.

Merci beaucoup.

mdb008

Voilà, mon ami,

Ça fonctionne, mais je ne sais pas comment exécuter cette commande au départ de ta macro Mail de confirmation et Mail de rappel

Amicalement

Pierrot

343base-de-test.xlsm (230.89 Ko)

Merci Pierre mais je suis désolé ce n'est pas ça que je souhaite faire.

Pour tout t'expliquer, le bouton "envoyer mail rappel" permet d'envoyer un mail automatique à la personne ayant emprunté un téléphone si la date de retour est arrivé à expiration. Le bouton "mail de confirmation" envoi un mail à l'emprunter lorsque qu'une date de prêt est renseignée. Donc lorsque je clique sur l'un de ces boutons, tous les mails sont remplis automatiquement (objet + corp) et ils partent d'un coup sans que j'ai besoin d'ouvrir outlook.

Cordialement,

mdb008

Cher ami,

Je suis désolé, je ne sais rien faire d'autre

Amitiés

Pierrot

Re,

Personne ne sait si ce que je demande est faisable ?

Merci.

Rechercher des sujets similaires à "recuperer adresse mail partir nom"