adresse mail sous vba excel
Bonjour,
J'ai conçu un petit utilitaire excel avec des macros et je voudrais envoyer par mail la feuille"mail" de mon classeur excel.
Quand j'utilise la macro avec en adresse de type "adr="yve---@orange.fr" qui est mon adresse , la macro fonctionne très bien et le mail est lançé.
Par contre si je passe une variable récupérée dans une autre feuille de mon classeur et que dans une cellule de cette feuille j'y ai plaçé un string "yve----@orange.fr" cette adresse est refusée par outlook???.
Merci à ceux qui pourront m'expliquer le bug.
Voici le code de ma macro
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| Sub MailFeuilleOE()
Dim adressemail As Variant
Sheets("mail").Range("b7") = ActiveCell.Offset(0, 1).Value ' transfert des valeurs dans la feuille mail
Sheets("mail").Range("b9") = ActiveCell.Offset(0, 2).Value ' en vue de créer
Sheets("mail").Range("b11") = ActiveCell.Offset(0, 0).Value ' la pièce jointe
Sheets("mail").Range("d19") = ActiveCell.Offset(0, 3).Value
Sheets("mail").Range("d21") = ActiveCell.Offset(0, 4).Value
Sheets("mail").Range("d25") = ActiveCell.Offset(0, 7).Value
Sheets("mail").Range("d27") = ActiveCell.Offset(0, 8).Value
Sheets("mail").Range("b13") = ActiveCell.Offset(0, 9).Value
Sheets("mail").Range("e7") = ActiveCell.Offset(0, 10).Value
Sheets("mail").Range("d23") = Sheets("cout des taches").Range("f6")
numfich = Sheets("mail").Range("b13") ' on récupère le numéro d'ordre pour créer le fichier et sauvegarder le mail
monfichier = "c:\envoi_mail\mail" & numfich & ".xls"
adressemail = Sheets("mail").Range("e7")
Dim Dest, Sujt, Msg As String
Dim RepName
Sheets("mail").Copy ' on copie le feuille mail
ActiveWorkbook.SaveAs Filename:=monfichier 'et on la sauvegarde dans le dossier envoi_mail
RepName = monfichier ' on récupère cette mème feuille sur le disque dur
'Dest = "yve-------.fr" ' adresse du destinataire
Dest = adressemail
Sujt = "Travaux informatiques" ' objet
Msg = "Bonjour, Veuillez trouver en pièce jointe le devis concernant les travaux que vous avez demandés" ' texte du message
Shell "C:\Program Files\Outlook Express\msimn.exe " & _
"/mailurl:mailto:" & Dest & "?subject=" & Sujt & "&Body=" & Msg & ""
SendKeys "%I" & "p" & RepName & "~" & "%s" ' on active outlook pour envoi
ActiveWorkbook.Close ' on referme le classeur
End Sub |
adresse mail en vba pour excel
En fait j'ai utilisé 2x variables pour tester mais c'est vrai qu'après , une seule suffira.
Pour en revenir à ta première question concernant le type de l'adresse , la cellule contient une adresse mail véritable( en bleu) et non un simple texte
quand je passe la souris sur la case l'info bulle m'affiche:
mailto:abcdefg@orange.fr"
a plus merci encore
adresse mail en vba et excel
Merci à ouskel'n'or
Bravo , ta solution fonctionne à merveille.
C'est vrai que les syntaxes pour ce genre de macro sont parfois incompréhensibles.
Mais se creuser la cervelle pour essayer de s'en sortir est toujours bon pour mes vieux neurones de 62 ans.
Encore merci et sinçères salutations