Je sais que le probl=E8me a d=E9j=E0 =E9t=E9 soulev=E9 =E0 maintes=20
reprises mais ne correspond pas tout =E0 fait =E0 ce que=20
j'essaie de faire. Je m'explique: je souhaiterais cr=E9er un=20
mail via VBA et y ins=E9rer une plage de cellule non en=20
attachment mais en tant que corps du message. (un peu=20
comme le permet le bouton E-mail). Pouvez-vous m'y aider?
Merci d=E9j=E0 pour vos r=E9ponses et bien =E0 vous,
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
papou
Bonjour Si ton client de messagerie est Outlook, ajouter une référence à "Microsoft Outlook x.0 Object Library" où x correspond à ta version d'Outlook puis dans un module standard voici un exemple à adpater : Sub Tester() Dim ol As New Outlook.Application Dim olmail As MailItem Set ol = New Outlook.Application Set olmail = ol.CreateItem(olMailItem) With olmail .To = Range("a1").Value .CC = Range("a2").Value .Subject = Range("a3").Value .Body = Range("c5").Value 'ou une plage nommée .Send End With Set olmail = Nothing Set ol = Nothing End Sub
Cordialement Pascal
"Pascal" a écrit dans le message de news:324c01c47ea0$0cef8f30$ Bonjour à toutes & à tous,
Je sais que le problème a déjà été soulevé à maintes reprises mais ne correspond pas tout à fait à ce que j'essaie de faire. Je m'explique: je souhaiterais créer un mail via VBA et y insérer une plage de cellule non en attachment mais en tant que corps du message. (un peu comme le permet le bouton E-mail). Pouvez-vous m'y aider? Merci déjà pour vos réponses et bien à vous,
Pascal.
Bonjour
Si ton client de messagerie est Outlook, ajouter une référence à "Microsoft
Outlook x.0 Object Library" où x correspond à ta version d'Outlook puis dans
un module standard voici un exemple à adpater :
Sub Tester()
Dim ol As New Outlook.Application
Dim olmail As MailItem
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = Range("a1").Value
.CC = Range("a2").Value
.Subject = Range("a3").Value
.Body = Range("c5").Value 'ou une plage nommée
.Send
End With
Set olmail = Nothing
Set ol = Nothing
End Sub
Cordialement
Pascal
"Pascal" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:324c01c47ea0$0cef8f30$a501280a@phx.gbl...
Bonjour à toutes & à tous,
Je sais que le problème a déjà été soulevé à maintes
reprises mais ne correspond pas tout à fait à ce que
j'essaie de faire. Je m'explique: je souhaiterais créer un
mail via VBA et y insérer une plage de cellule non en
attachment mais en tant que corps du message. (un peu
comme le permet le bouton E-mail). Pouvez-vous m'y aider?
Merci déjà pour vos réponses et bien à vous,
Bonjour Si ton client de messagerie est Outlook, ajouter une référence à "Microsoft Outlook x.0 Object Library" où x correspond à ta version d'Outlook puis dans un module standard voici un exemple à adpater : Sub Tester() Dim ol As New Outlook.Application Dim olmail As MailItem Set ol = New Outlook.Application Set olmail = ol.CreateItem(olMailItem) With olmail .To = Range("a1").Value .CC = Range("a2").Value .Subject = Range("a3").Value .Body = Range("c5").Value 'ou une plage nommée .Send End With Set olmail = Nothing Set ol = Nothing End Sub
Cordialement Pascal
"Pascal" a écrit dans le message de news:324c01c47ea0$0cef8f30$ Bonjour à toutes & à tous,
Je sais que le problème a déjà été soulevé à maintes reprises mais ne correspond pas tout à fait à ce que j'essaie de faire. Je m'explique: je souhaiterais créer un mail via VBA et y insérer une plage de cellule non en attachment mais en tant que corps du message. (un peu comme le permet le bouton E-mail). Pouvez-vous m'y aider? Merci déjà pour vos réponses et bien à vous,
Pascal.
Merci Papou... mais j'ai une erreur 13 (type mismatch) à la ligne .Body
Sub Tester() Dim ol As New Outlook.Application Dim olmail As MailItem Set ol = New Outlook.Application Set olmail = ol.CreateItem(olMailItem) With olmail .To = "uspad" .CC = "" .Subject = "test" .Body = Range("B2").PivotTable.TableRange1.Value .Display End With Set olmail = Nothing Set ol = Nothing End Sub
Ici, le range est un tcd sans pagefield. Mais si je me limite à une plage simple, le résultat est le même. Tu as une idée?
Pascal.
-----Message d'origine----- Bonjour Si ton client de messagerie est Outlook, ajouter une référence à "Microsoft
Outlook x.0 Object Library" où x correspond à ta version d'Outlook puis dans
un module standard voici un exemple à adpater : Sub Tester() Dim ol As New Outlook.Application Dim olmail As MailItem Set ol = New Outlook.Application Set olmail = ol.CreateItem(olMailItem) With olmail .To = Range("a1").Value .CC = Range("a2").Value .Subject = Range("a3").Value .Body = Range("c5").Value 'ou une plage nommée .Send End With Set olmail = Nothing Set ol = Nothing End Sub
Cordialement Pascal
"Pascal" a écrit dans le message de
news:324c01c47ea0$0cef8f30$ Bonjour à toutes & à tous,
Je sais que le problème a déjà été soulevé à maintes reprises mais ne correspond pas tout à fait à ce que j'essaie de faire. Je m'explique: je souhaiterais créer un mail via VBA et y insérer une plage de cellule non en attachment mais en tant que corps du message. (un peu comme le permet le bouton E-mail). Pouvez-vous m'y aider? Merci déjà pour vos réponses et bien à vous,
Pascal.
.
Merci Papou... mais j'ai une erreur 13 (type mismatch) à
la ligne .Body
Sub Tester()
Dim ol As New Outlook.Application
Dim olmail As MailItem
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = "uspad"
.CC = ""
.Subject = "test"
.Body = Range("B2").PivotTable.TableRange1.Value
.Display
End With
Set olmail = Nothing
Set ol = Nothing
End Sub
Ici, le range est un tcd sans pagefield. Mais si je me
limite à une plage simple, le résultat est le même. Tu as
une idée?
Pascal.
-----Message d'origine-----
Bonjour
Si ton client de messagerie est Outlook, ajouter une
référence à "Microsoft
Outlook x.0 Object Library" où x correspond à ta version
d'Outlook puis dans
un module standard voici un exemple à adpater :
Sub Tester()
Dim ol As New Outlook.Application
Dim olmail As MailItem
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = Range("a1").Value
.CC = Range("a2").Value
.Subject = Range("a3").Value
.Body = Range("c5").Value 'ou une plage nommée
.Send
End With
Set olmail = Nothing
Set ol = Nothing
End Sub
Cordialement
Pascal
"Pascal" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:324c01c47ea0$0cef8f30$a501280a@phx.gbl...
Bonjour à toutes & à tous,
Je sais que le problème a déjà été soulevé à maintes
reprises mais ne correspond pas tout à fait à ce que
j'essaie de faire. Je m'explique: je souhaiterais créer un
mail via VBA et y insérer une plage de cellule non en
attachment mais en tant que corps du message. (un peu
comme le permet le bouton E-mail). Pouvez-vous m'y aider?
Merci déjà pour vos réponses et bien à vous,
Merci Papou... mais j'ai une erreur 13 (type mismatch) à la ligne .Body
Sub Tester() Dim ol As New Outlook.Application Dim olmail As MailItem Set ol = New Outlook.Application Set olmail = ol.CreateItem(olMailItem) With olmail .To = "uspad" .CC = "" .Subject = "test" .Body = Range("B2").PivotTable.TableRange1.Value .Display End With Set olmail = Nothing Set ol = Nothing End Sub
Ici, le range est un tcd sans pagefield. Mais si je me limite à une plage simple, le résultat est le même. Tu as une idée?
Pascal.
-----Message d'origine----- Bonjour Si ton client de messagerie est Outlook, ajouter une référence à "Microsoft
Outlook x.0 Object Library" où x correspond à ta version d'Outlook puis dans
un module standard voici un exemple à adpater : Sub Tester() Dim ol As New Outlook.Application Dim olmail As MailItem Set ol = New Outlook.Application Set olmail = ol.CreateItem(olMailItem) With olmail .To = Range("a1").Value .CC = Range("a2").Value .Subject = Range("a3").Value .Body = Range("c5").Value 'ou une plage nommée .Send End With Set olmail = Nothing Set ol = Nothing End Sub
Cordialement Pascal
"Pascal" a écrit dans le message de
news:324c01c47ea0$0cef8f30$ Bonjour à toutes & à tous,
Je sais que le problème a déjà été soulevé à maintes reprises mais ne correspond pas tout à fait à ce que j'essaie de faire. Je m'explique: je souhaiterais créer un mail via VBA et y insérer une plage de cellule non en attachment mais en tant que corps du message. (un peu comme le permet le bouton E-mail). Pouvez-vous m'y aider? Merci déjà pour vos réponses et bien à vous,
Pascal.
.
papou
Re Il s'agit donc d'un ensemble de données à récupérer depuis une table dans un TCD ? Dans ce cas, il faut récupérer chacune des valeurs dans une boucle par exemple : For Each c In Range("B2").PivotTable.TableRange1.Value LesValeurs = LesValeurs & c & vbLf 'pour ajouter un retour à la ligne Next c .Body = LesValeurs
Cordialement Pascal
a écrit dans le message de news:339501c47eaa$832b4e50$ Merci Papou... mais j'ai une erreur 13 (type mismatch) à la ligne .Body
Sub Tester() Dim ol As New Outlook.Application Dim olmail As MailItem Set ol = New Outlook.Application Set olmail = ol.CreateItem(olMailItem) With olmail .To = "uspad" .CC = "" .Subject = "test" .Body = Range("B2").PivotTable.TableRange1.Value .Display End With Set olmail = Nothing Set ol = Nothing End Sub
Ici, le range est un tcd sans pagefield. Mais si je me limite à une plage simple, le résultat est le même. Tu as une idée?
Pascal.
-----Message d'origine----- Bonjour Si ton client de messagerie est Outlook, ajouter une référence à "Microsoft
Outlook x.0 Object Library" où x correspond à ta version d'Outlook puis dans
un module standard voici un exemple à adpater : Sub Tester() Dim ol As New Outlook.Application Dim olmail As MailItem Set ol = New Outlook.Application Set olmail = ol.CreateItem(olMailItem) With olmail .To = Range("a1").Value .CC = Range("a2").Value .Subject = Range("a3").Value .Body = Range("c5").Value 'ou une plage nommée .Send End With Set olmail = Nothing Set ol = Nothing End Sub
Cordialement Pascal
"Pascal" a écrit dans le message de
news:324c01c47ea0$0cef8f30$ Bonjour à toutes & à tous,
Je sais que le problème a déjà été soulevé à maintes reprises mais ne correspond pas tout à fait à ce que j'essaie de faire. Je m'explique: je souhaiterais créer un mail via VBA et y insérer une plage de cellule non en attachment mais en tant que corps du message. (un peu comme le permet le bouton E-mail). Pouvez-vous m'y aider? Merci déjà pour vos réponses et bien à vous,
Pascal.
.
Re
Il s'agit donc d'un ensemble de données à récupérer depuis une table dans un
TCD ?
Dans ce cas, il faut récupérer chacune des valeurs dans une boucle par
exemple :
For Each c In Range("B2").PivotTable.TableRange1.Value
LesValeurs = LesValeurs & c & vbLf 'pour ajouter un retour à la ligne
Next c
.Body = LesValeurs
Cordialement
Pascal
<anonymous@discussions.microsoft.com> a écrit dans le message de
news:339501c47eaa$832b4e50$a401280a@phx.gbl...
Merci Papou... mais j'ai une erreur 13 (type mismatch) à
la ligne .Body
Sub Tester()
Dim ol As New Outlook.Application
Dim olmail As MailItem
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = "uspad"
.CC = ""
.Subject = "test"
.Body = Range("B2").PivotTable.TableRange1.Value
.Display
End With
Set olmail = Nothing
Set ol = Nothing
End Sub
Ici, le range est un tcd sans pagefield. Mais si je me
limite à une plage simple, le résultat est le même. Tu as
une idée?
Pascal.
-----Message d'origine-----
Bonjour
Si ton client de messagerie est Outlook, ajouter une
référence à "Microsoft
Outlook x.0 Object Library" où x correspond à ta version
d'Outlook puis dans
un module standard voici un exemple à adpater :
Sub Tester()
Dim ol As New Outlook.Application
Dim olmail As MailItem
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = Range("a1").Value
.CC = Range("a2").Value
.Subject = Range("a3").Value
.Body = Range("c5").Value 'ou une plage nommée
.Send
End With
Set olmail = Nothing
Set ol = Nothing
End Sub
Cordialement
Pascal
"Pascal" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:324c01c47ea0$0cef8f30$a501280a@phx.gbl...
Bonjour à toutes & à tous,
Je sais que le problème a déjà été soulevé à maintes
reprises mais ne correspond pas tout à fait à ce que
j'essaie de faire. Je m'explique: je souhaiterais créer un
mail via VBA et y insérer une plage de cellule non en
attachment mais en tant que corps du message. (un peu
comme le permet le bouton E-mail). Pouvez-vous m'y aider?
Merci déjà pour vos réponses et bien à vous,
Re Il s'agit donc d'un ensemble de données à récupérer depuis une table dans un TCD ? Dans ce cas, il faut récupérer chacune des valeurs dans une boucle par exemple : For Each c In Range("B2").PivotTable.TableRange1.Value LesValeurs = LesValeurs & c & vbLf 'pour ajouter un retour à la ligne Next c .Body = LesValeurs
Cordialement Pascal
a écrit dans le message de news:339501c47eaa$832b4e50$ Merci Papou... mais j'ai une erreur 13 (type mismatch) à la ligne .Body
Sub Tester() Dim ol As New Outlook.Application Dim olmail As MailItem Set ol = New Outlook.Application Set olmail = ol.CreateItem(olMailItem) With olmail .To = "uspad" .CC = "" .Subject = "test" .Body = Range("B2").PivotTable.TableRange1.Value .Display End With Set olmail = Nothing Set ol = Nothing End Sub
Ici, le range est un tcd sans pagefield. Mais si je me limite à une plage simple, le résultat est le même. Tu as une idée?
Pascal.
-----Message d'origine----- Bonjour Si ton client de messagerie est Outlook, ajouter une référence à "Microsoft
Outlook x.0 Object Library" où x correspond à ta version d'Outlook puis dans
un module standard voici un exemple à adpater : Sub Tester() Dim ol As New Outlook.Application Dim olmail As MailItem Set ol = New Outlook.Application Set olmail = ol.CreateItem(olMailItem) With olmail .To = Range("a1").Value .CC = Range("a2").Value .Subject = Range("a3").Value .Body = Range("c5").Value 'ou une plage nommée .Send End With Set olmail = Nothing Set ol = Nothing End Sub
Cordialement Pascal
"Pascal" a écrit dans le message de
news:324c01c47ea0$0cef8f30$ Bonjour à toutes & à tous,
Je sais que le problème a déjà été soulevé à maintes reprises mais ne correspond pas tout à fait à ce que j'essaie de faire. Je m'explique: je souhaiterais créer un mail via VBA et y insérer une plage de cellule non en attachment mais en tant que corps du message. (un peu comme le permet le bouton E-mail). Pouvez-vous m'y aider? Merci déjà pour vos réponses et bien à vous,
Pascal.
.
Pascal
Papou,
Pas évident de créer le body du mail avec une boucle du type for each in next, pour ce qui me concerne en tous cas. Je vais plancher dessus chez moi ce soir à tête reposée. Merci pour tes réponses et bien à toi,
Pascal.
-----Message d'origine----- Re Il s'agit donc d'un ensemble de données à récupérer depuis une table dans un
TCD ? Dans ce cas, il faut récupérer chacune des valeurs dans une boucle par
exemple : For Each c In Range("B2").PivotTable.TableRange1.Value LesValeurs = LesValeurs & c & vbLf 'pour ajouter un retour à la ligne
Next c ..Body = LesValeurs
Cordialement Pascal
a écrit dans le message de
news:339501c47eaa$832b4e50$ Merci Papou... mais j'ai une erreur 13 (type mismatch) à la ligne .Body
Sub Tester() Dim ol As New Outlook.Application Dim olmail As MailItem Set ol = New Outlook.Application Set olmail = ol.CreateItem(olMailItem) With olmail .To = "uspad" .CC = "" .Subject = "test" .Body = Range("B2").PivotTable.TableRange1.Value .Display End With Set olmail = Nothing Set ol = Nothing End Sub
Ici, le range est un tcd sans pagefield. Mais si je me limite à une plage simple, le résultat est le même. Tu as une idée?
Pascal.
-----Message d'origine----- Bonjour Si ton client de messagerie est Outlook, ajouter une référence à "Microsoft
Outlook x.0 Object Library" où x correspond à ta version d'Outlook puis dans
un module standard voici un exemple à adpater : Sub Tester() Dim ol As New Outlook.Application Dim olmail As MailItem Set ol = New Outlook.Application Set olmail = ol.CreateItem(olMailItem) With olmail .To = Range("a1").Value .CC = Range("a2").Value .Subject = Range("a3").Value .Body = Range("c5").Value 'ou une plage nommée .Send End With Set olmail = Nothing Set ol = Nothing End Sub
Cordialement Pascal
"Pascal" a écrit dans le message de
news:324c01c47ea0$0cef8f30$ Bonjour à toutes & à tous,
Je sais que le problème a déjà été soulevé à maintes reprises mais ne correspond pas tout à fait à ce que j'essaie de faire. Je m'explique: je souhaiterais créer un
mail via VBA et y insérer une plage de cellule non en attachment mais en tant que corps du message. (un peu comme le permet le bouton E-mail). Pouvez-vous m'y aider? Merci déjà pour vos réponses et bien à vous,
Pascal.
.
.
Papou,
Pas évident de créer le body du mail avec une boucle du
type for each in next, pour ce qui me concerne en tous
cas. Je vais plancher dessus chez moi ce soir à tête
reposée. Merci pour tes réponses et bien à toi,
Pascal.
-----Message d'origine-----
Re
Il s'agit donc d'un ensemble de données à récupérer
depuis une table dans un
TCD ?
Dans ce cas, il faut récupérer chacune des valeurs dans
une boucle par
exemple :
For Each c In Range("B2").PivotTable.TableRange1.Value
LesValeurs = LesValeurs & c & vbLf 'pour ajouter un
retour à la ligne
Next c
..Body = LesValeurs
Cordialement
Pascal
<anonymous@discussions.microsoft.com> a écrit dans le
message de
news:339501c47eaa$832b4e50$a401280a@phx.gbl...
Merci Papou... mais j'ai une erreur 13 (type mismatch) à
la ligne .Body
Sub Tester()
Dim ol As New Outlook.Application
Dim olmail As MailItem
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = "uspad"
.CC = ""
.Subject = "test"
.Body = Range("B2").PivotTable.TableRange1.Value
.Display
End With
Set olmail = Nothing
Set ol = Nothing
End Sub
Ici, le range est un tcd sans pagefield. Mais si je me
limite à une plage simple, le résultat est le même. Tu as
une idée?
Pascal.
-----Message d'origine-----
Bonjour
Si ton client de messagerie est Outlook, ajouter une
référence à "Microsoft
Outlook x.0 Object Library" où x correspond à ta version
d'Outlook puis dans
un module standard voici un exemple à adpater :
Sub Tester()
Dim ol As New Outlook.Application
Dim olmail As MailItem
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = Range("a1").Value
.CC = Range("a2").Value
.Subject = Range("a3").Value
.Body = Range("c5").Value 'ou une plage nommée
.Send
End With
Set olmail = Nothing
Set ol = Nothing
End Sub
Cordialement
Pascal
"Pascal" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:324c01c47ea0$0cef8f30$a501280a@phx.gbl...
Bonjour à toutes & à tous,
Je sais que le problème a déjà été soulevé à maintes
reprises mais ne correspond pas tout à fait à ce que
j'essaie de faire. Je m'explique: je souhaiterais créer
un
mail via VBA et y insérer une plage de cellule non en
attachment mais en tant que corps du message. (un peu
comme le permet le bouton E-mail). Pouvez-vous m'y aider?
Merci déjà pour vos réponses et bien à vous,
Pas évident de créer le body du mail avec une boucle du type for each in next, pour ce qui me concerne en tous cas. Je vais plancher dessus chez moi ce soir à tête reposée. Merci pour tes réponses et bien à toi,
Pascal.
-----Message d'origine----- Re Il s'agit donc d'un ensemble de données à récupérer depuis une table dans un
TCD ? Dans ce cas, il faut récupérer chacune des valeurs dans une boucle par
exemple : For Each c In Range("B2").PivotTable.TableRange1.Value LesValeurs = LesValeurs & c & vbLf 'pour ajouter un retour à la ligne
Next c ..Body = LesValeurs
Cordialement Pascal
a écrit dans le message de
news:339501c47eaa$832b4e50$ Merci Papou... mais j'ai une erreur 13 (type mismatch) à la ligne .Body
Sub Tester() Dim ol As New Outlook.Application Dim olmail As MailItem Set ol = New Outlook.Application Set olmail = ol.CreateItem(olMailItem) With olmail .To = "uspad" .CC = "" .Subject = "test" .Body = Range("B2").PivotTable.TableRange1.Value .Display End With Set olmail = Nothing Set ol = Nothing End Sub
Ici, le range est un tcd sans pagefield. Mais si je me limite à une plage simple, le résultat est le même. Tu as une idée?
Pascal.
-----Message d'origine----- Bonjour Si ton client de messagerie est Outlook, ajouter une référence à "Microsoft
Outlook x.0 Object Library" où x correspond à ta version d'Outlook puis dans
un module standard voici un exemple à adpater : Sub Tester() Dim ol As New Outlook.Application Dim olmail As MailItem Set ol = New Outlook.Application Set olmail = ol.CreateItem(olMailItem) With olmail .To = Range("a1").Value .CC = Range("a2").Value .Subject = Range("a3").Value .Body = Range("c5").Value 'ou une plage nommée .Send End With Set olmail = Nothing Set ol = Nothing End Sub
Cordialement Pascal
"Pascal" a écrit dans le message de
news:324c01c47ea0$0cef8f30$ Bonjour à toutes & à tous,
Je sais que le problème a déjà été soulevé à maintes reprises mais ne correspond pas tout à fait à ce que j'essaie de faire. Je m'explique: je souhaiterais créer un
mail via VBA et y insérer une plage de cellule non en attachment mais en tant que corps du message. (un peu comme le permet le bouton E-mail). Pouvez-vous m'y aider? Merci déjà pour vos réponses et bien à vous,