Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème avec un code VBA (Envoi d'email)

3 réponses
Avatar
Sliderone
Bonjour,

J’aimerais envoyer un email depuis Excel par simple clique

J’ai récupéré un code VBA sur le net et j’essaye de le modifier mais avec un
peu de peine, je suis novice dans la matière. Le code fonctionne à moitié
explication ci-dessous


Le bouton avec la macro se trouve sur un autre classeur que email.xls
utilisé ci-dessous dans le code.

De un, si je n’ouvre pas le fichier email.xls avant de cliquer sur le bouton
cette erreur survient :

Erreur d’execution ´1004´
La méthode ´Range´de l’objet´_Global´ a échoué

De deux

Je n’arrive pas à compléter le code sous :

.Body = Range("[Email.xls]Feuil2!a7").Value

J’aimerais qu’il m’envoie les infos qui se trouvent dans la cellule A7 à la
cellule G24.

Et de trois

J’aimerais rajouter une image en background mais alors là, je n’ai aucune
idée comment le formuler.

Merci d’avance pour les infos.



-----------------------------------------

Sub SendMail_Outlook()

'Avant de lancer cette macro, Dans l'éditeur VBA: Faire Menu / Tools /
Reference / Cocher "Microsoft Outlook Library"



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 = Range("[Email.xls]Feuil1!$b$3").Value
.Subject = Range("[Email.xls]Feuil1!$B$4").Value
.Body = Range("[Email.xls]Feuil2!a7").Value

.Display '.Send
'On peut switcher entre .send et .display selon que l'on veut envoyer le
mail (send) ou seulement le préparer et le vérifier(display)
End With
End Sub

3 réponses

Avatar
Youky
si ton bouton est sur la même page dans la macro remplace comme ceci



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 = [B3] 'en B3 l'adresse destinataire
.Subject = [B4] 'ici le sujet
.Body = [A7] 'ici le texte
.Display '.Send
End With
[G24]=[A7] 'copie A7 en G24
End Sub

Youky

"Sliderone" a écrit dans le message de
news:

Bonjour,

J'aimerais envoyer un email depuis Excel par simple clique

J'ai récupéré un code VBA sur le net et j'essaye de le modifier mais avec
un
peu de peine, je suis novice dans la matière. Le code fonctionne à moitié
explication ci-dessous


Le bouton avec la macro se trouve sur un autre classeur que email.xls
utilisé ci-dessous dans le code.

De un, si je n'ouvre pas le fichier email.xls avant de cliquer sur le
bouton
cette erreur survient :

Erreur d'execution ´1004´
La méthode ´Range´de l'objet´_Global´ a échoué

De deux

Je n'arrive pas à compléter le code sous :

.Body = Range("[Email.xls]Feuil2!a7").Value

J'aimerais qu'il m'envoie les infos qui se trouvent dans la cellule A7 à
la
cellule G24.

Et de trois

J'aimerais rajouter une image en background mais alors là, je n'ai aucune
idée comment le formuler.

Merci d'avance pour les infos.



-----------------------------------------

Sub SendMail_Outlook()

'Avant de lancer cette macro, Dans l'éditeur VBA: Faire Menu / Tools /
Reference / Cocher "Microsoft Outlook Library"



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 = Range("[Email.xls]Feuil1!$b$3").Value
.Subject = Range("[Email.xls]Feuil1!$B$4").Value
.Body = Range("[Email.xls]Feuil2!a7").Value

.Display '.Send
'On peut switcher entre .send et .display selon que l'on veut envoyer le
mail (send) ou seulement le préparer et le vérifier(display)
End With
End Sub




Avatar
Sliderone
Merci pour votre intérêt

En fait je me suis mal exprimé j’ai des données dans une plage qui ce trouve
entre A7 et G24.

Et avez-vous une idée pour mètre une image en background

Merci d’avance
Avatar
Youky
Donc voici
chaque cellule sera séparée pas 2 espaces
rien ne t'empêche d'y modifier
Pour l'image ou l'arriere plan je n'ai pas de solution
Youky

Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim CurrFile As String
'la variable mytx est de(A7:G24)
For lig = 7 To 24
For col = 1 To 7
mytx = mytx & Cells(lig, col) & " "
Next
mytx = mytx & vbCr
Next

Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = [B3] 'en B3 l'adresse destinataire
.Subject = [B4] 'ici le sujet
.Body = mytx 'ici le texte de A7:G24
.Display '.Send
End With
End Sub


"Sliderone" a écrit dans le message de
news:
Merci pour votre intérêt

En fait je me suis mal exprimé j'ai des données dans une plage qui ce
trouve
entre A7 et G24.

Et avez-vous une idée pour mètre une image en background

Merci d'avance