PB : ouvrir outlook à partir d'excel pour envoyer e-mail pré-rempli

nanie12 Messages postés 114 Date d'inscription vendredi 9 avril 2010 Statut Membre Dernière intervention 16 août 2011 - 9 avril 2010 à 13:26
cs_rocky42 Messages postés 97 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 7 mars 2011 - 13 avril 2010 à 18:52
Bonjour
Je voudrais envoyé un e-mail pré-rempli à partir d'excel. Voila la macro que j'ai fait mais cela ne fonctionne pas, au lieu de mettre le message, ca me met VRAI. Merci de répondre si vous avez la solution

     
   Dim ol As New Outlook.Application
   Dim olmail As MailItem
   Dim CurrFile As String

   Set ol = New Outlook.Application
   Set olmail = ol.CreateItem(olMailItem)
   With olmail
   .To = "employeurs-etrangers@seine-et-marne.pref.gouv.fr"
   .Subject = "demande de contrôle de titre"
   .CC = " danielle.bidault@wanadoo.fr"
   Sheets("e-mail").Select
   Range("B3:B18").Copy
   .Body = Range("B3:B18").PasteSpecial
    



nanie

11 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
9 avril 2010 à 19:02
Bonjour,
Voici un module:
Sub MailOXpress()
Dim dest$, sujet$, texte$
dest = " danielle.bidault@wanadoo.fr"
sujet = "demande de contrôle de titre"
texte = "Votre texte"
Shell "C:\Program Files\Outlook Express\msimn.exe " & _
"/mailurl:mailto:" & dest & _
"?subject=" & sujet & _
"&Body=" & texte
End Sub
@+
0
nanie12 Messages postés 114 Date d'inscription vendredi 9 avril 2010 Statut Membre Dernière intervention 16 août 2011
12 avril 2010 à 09:22
Bonjour,

Si je tappe mon texte comme ca, il sera tout à la suite dans un bloc. et non de la manière suivante:
Madame, Monsieur
Société
Directeur :
Je vous prie de bien vouloir prendre note de la demande d'audentification de la personne suivante :
Nom
Prénom
nationalité
N° de titre de séjour

nanie
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
12 avril 2010 à 10:58
Bonjour,
On peut faire ceci, mais ce n'est pas modifiable en dehors du programme:
texte = "Madame, Monsieur" _
& vbNewLine & "Société " _
& vbNewLine & "Directeur: "_
& vbNewLine & "Je vous prie de bien vouloir prendre note de la demande d'audentification de la personne suivante: " _
& vbNewLine & "Nom " _
& vbNewLine & "Prénom " _
& vbNewLine & "nationalité " _
& vbNewLine & "N° de titre de séjour "
Je cherche une manière de récupérer les données sur la feuille de calcul.
@+
0
nanie12 Messages postés 114 Date d'inscription vendredi 9 avril 2010 Statut Membre Dernière intervention 16 août 2011
12 avril 2010 à 11:21
Merci c'est déjà pas mal comme ca !

nanie
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
12 avril 2010 à 11:36
J'ai trouvé c'est très simple:
Dans un userForm tu mets autant de textBox que de lignes et tu remplis les cellules A1, A2, etc...
voivi le code:
Private Sub UserForm_Initialize()
TextBox1 = [A1]
TextBox2 = [A2]
etc...
End Sub
Sub MailOXpress()
Dim dest$, sujet$, texte$
dest = " danielle.bidault@wanadoo.fr"
sujet = "demande de contrôle de titre"
texte = TextBox1 _
& vbNewLine & TextBox2 _
etc...
Shell "C:\Program Files\Outlook Express\msimn.exe " & _
"/mailurl:mailto:" & dest & _
"?subject=" & sujet & _
"&Body=" & texte
End Sub
Private Sub CommandButton1_Click()
MailOXpress
End Sub
Comme cela tu n'as qu'a changer les cellules quand tu veux changer le message.
@+
0
nanie12 Messages postés 114 Date d'inscription vendredi 9 avril 2010 Statut Membre Dernière intervention 16 août 2011
12 avril 2010 à 11:46
je me suis débrouillé avec ton message du dessus !


Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = "employeurs-etrangers@seine-et-marne.pref.gouv.fr"
.Subject = "demande de contrôle de titre"
.cc = " danielle.bidault@wanadoo.fr"
.Body = "Madame, Monsieur" & vbNewLine & vbNewLine & "Société : textbox20 " & vbNewLine & "Directeur : textbox21 " & vbNewLine & vbNewLine & "Je vous prie de bien vouloir prendre note de la demande d'identification de la personne suivante: " _
& vbNewLine & "Nom : " & TextBox1.text & vbNewLine & "Prénom : " & TextBox2.text & vbNewLine & "nationalité : " & TextBox9.text & vbNewLine & "N° de titre de séjour : " & TextBox6.text & vbNewLine & vbNewLine & "Cordialement" /code

tu ne sais pas comment je pourrais faire pour souligner Nom par exemple ?

merci beaucoup de ton aide
Bonne continuation


nanie
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
12 avril 2010 à 12:18
En programmation:
Range("A1").Font.FontStyle = "Bold Italic"
Range("A1").Font.Italic = True
Range("A1").Font.Bold = True
C'est pour le gras et l'italique je n'ai pas trouvé pour le souligné, cherches avec l'aide F1
@+
0
nanie12 Messages postés 114 Date d'inscription vendredi 9 avril 2010 Statut Membre Dernière intervention 16 août 2011
12 avril 2010 à 15:43
oui mais moi je ne vais pas chercher des cellules puisque ma formule est concatenée
ca doit être une formule du style : texte(format("Nom :",...)
par contre je ne sais pas quoi mettre après la virgule

tu en penses quoi ?

nanie
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
12 avril 2010 à 17:37
Au niveau Format je n'ai trouvé que cela:
texte = Format("Nom: ", ">")'renvoie en majuscule
texte = Format("Nom: ", "<")'renvoie en minuscule
Rien pour le souligner, désolé!
@+
0
nanie12 Messages postés 114 Date d'inscription vendredi 9 avril 2010 Statut Membre Dernière intervention 16 août 2011
13 avril 2010 à 09:17
OK et bien merci pour ton aide
et bonne continuation

nanie
0
cs_rocky42 Messages postés 97 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 7 mars 2011
13 avril 2010 à 18:52
Le plus simple et d'utiliser shellexecute et d'appelé mailto:

Private Const SW_SHOWNORMAL = 1

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub Form_Load()

    ShellExecute Me.hwnd, vbNullString, "mailto:adresse@serveur.com", vbNullString, "C:", SW_SHOWNORMAL

End Sub


A toi de voir aprée tout les argument possible de plus il vos mieux utiliser sa car exemple si le mec na pas outlook mais un autre client mail ^^

Cordialement Rocky42.

Noublie pas de cocher résolue si le problème et reglé ^^
0
Rejoignez-nous