Microsoft 365 Envoyer un mail avec un copier/coller de cellules

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

LeLigérien

XLDnaute Nouveau
Bonjour à vous,
Je sollicites encore vos talents.
Je n'arrive pas à créer une macro qui récupère les adresses mail qui sont en C14:C17 et envoie automatiquement le mail par Gmail (ou avoir le choix au moment de l'envoie)
Pour compliquer un peu la chose j'aimerai faire un copier/coller des cellules B3:C10 et de l'insérer dans le mail mais pas en pièce jointe.

J'espère avoir été assez clair.
Merci par avance.
 

Pièces jointes

Merci pour vos retour.
En faite j'ai essayé de concocter une macro avec ChatGPT (pour voir 🙂 ) et il m'avait créer ça :
code :

Sub Envoyer_Email_Gmail()

Dim objOutlook As Object
Dim objMail As Object
Dim rng As Range
Dim strSubject As String
Dim strBody As String
Dim strRecipient As String
Dim i As Integer
Dim AttachFile As String

' Adresse e-mail et mot de passe du compte Gmail utilisé pour envoyer des e-mails
Const GmailAdresse As String = "adresse@gmail.com"
Const GmailMotDePasse As String = "mot_de_passe"

' Définir le sujet, le corps et le nom du fichier attaché
strSubject = "Sujet de l'e-mail"
strBody = "Corps de l'e-mail"
AttachFile = "Nom_du_fichier_attaché.xlsx"

' Créer un objet Outlook
Set objOutlook = CreateObject("Outlook.Application")

' Définir la plage de cellules contenant les adresses e-mail
Set rng = Range("C14:C17")

' Parcourir chaque cellule de la plage
For i = 1 To rng.Rows.Count
' Vérifier que la cellule contient une adresse e-mail valide
If InStr(1, rng.Cells(i, 1).Value, "@") > 0 Then
' Ajouter l'adresse e-mail à la liste des destinataires
strRecipient = strRecipient & rng.Cells(i, 1).Value & ";"
End If
Next i

' Créer un nouvel e-mail
Set objMail = objOutlook.CreateItem(0)

' Ajouter les destinataires, le sujet et le corps
objMail.To = strRecipient
objMail.Subject = strSubject
objMail.Body = strBody

' Ajouter le fichier attaché
objMail.Attachments.Add ActiveWorkbook.FullName

' Envoyer l'e-mail via Gmail
With objMail
.SentOnBehalfOfName = GmailAdresse
.Save
.SendUsingAccount = objOutlook.Session.Accounts.Item(GmailAdresse)
.Send
End With

' Libérer les objets Outlook
Set objMail = Nothing
Set objOutlook = Nothing

End Sub
La macro fonctionnait mais envoyait une copie du fichier Excel et pas une copie des cellules.
Ca a fonctionné quelque fois et puis plus rien.

De toute façon après avoir réfléchi, les personnes qui seront amener à utiliser le fichier ne passeront peut être pas Gmail.
Donc si vous avez une proposition, je suis preneur.
 
@fanch55 : La macro ne fonctionne pas j'ai un message qui dit qu'il trouve pas mon adresse mail.
Normal, j'ai du laisser une de mes adresses mails en tant que compte émetteur pour les tests.
1680767453370.png

Il fautr mettre dans Mailbox un de vos comptes déclarés dans Outlook
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour