Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Insérer plage de cellule dans corps de mail

ExcLnoob

XLDnaute Occasionnel
Bonjour le Forum,

Le sujet a été traité pas mal de fois mais mais malgré les nombreux sujet je n'arrive pas à adapter les solutions à mon propre code....
Je souhaiterai pouvoir "customiser" la macro ci-dessous afin d'intégrer en corps de texte, en plus de mon texte, une plage de cellule (range(B2:E19) par exemple) en gardant la mise en forme.
J'ai tenté pas mal de méthode mais je n'y arrive pas...
Merci par avance pour votre aide!
Le code :
VB:
Sub AO_Portage(deb As Integer, fin As Integer)
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim Destinataire As String
Dim PJ As Variant
Dim i As Integer
Dim j As Integer

If MsgBox("Voulez-vous joindre des documents à votre mail ?", vbYesNo + vbQuestion) = vbYes Then
    PJ = Application.GetOpenFilename("Tous les fichiers (*.*),*.* ", 1, "Sélectionnez le ou les fichiers à importer", , True)
    If IsArray(PJ) = False Then
        MsgBox "Opération annulée !"
Exit Sub
End If

        With Sheets("Bdd")
            For i = deb To fin
                Destinataire = .Cells(i, "E")
                Set OutlookApp = CreateObject("outlook.application")
                Set OutlookMail = OutlookApp.CreateItem(0)
                    With OutlookMail
                        .Subject = "xxxx"
                        .To = Destinataire
                        '.CC = ""
                        .Body = "Bonjour," & vbCrLf & vbLf & "xxxx"
                            For j = 1 To UBound(PJ)
                        .Attachments.Add PJ(j)
                            Next
                        .Display
                        '.send
                    End With
            Next i
'Call Enregistrer
Unload UserForm5
        End With


Else

With Sheets("Bdd")
            For i = deb To fin
                Destinataire = .Cells(i, "E")
                Set OutlookApp = CreateObject("outlook.application")
                Set OutlookMail = OutlookApp.CreateItem(0)
                    With OutlookMail
                        .Subject = "xxxx"
                        .To = Destinataire
                        '.CC = ""
                        .Body = "Bonjour," & vbCrLf & vbLf & "xxxxx"
                        .Display
                        '.send
                    End With
            Next i
'Call Enregistrer
Unload UserForm5
        End With
    End If
End Sub
 
Solution
Bonjour Exclnoob

Tu peux regarder sur le fil suivant


Au post 8, une réponse avec enveloppevisible qui ne fonctionne pas pour moi (mais je travaille sur une vieille version - 2007) mais le code est pas mal.
Sinon, je fais appel à une fonction fourni par Ron De Bruin (RANGE TO HTML) fourni au post 3 pour utiliser un range sélectionné dans le BODY.

Tu dois pouvoir te débrouiller avec cela.

xl-ment
zebanx

zebanx

XLDnaute Accro
Bonjour Exclnoob

Tu peux regarder sur le fil suivant


Au post 8, une réponse avec enveloppevisible qui ne fonctionne pas pour moi (mais je travaille sur une vieille version - 2007) mais le code est pas mal.
Sinon, je fais appel à une fonction fourni par Ron De Bruin (RANGE TO HTML) fourni au post 3 pour utiliser un range sélectionné dans le BODY.

Tu dois pouvoir te débrouiller avec cela.

xl-ment
zebanx
 

ExcLnoob

XLDnaute Occasionnel
Bonjour le forum,
@zebanx : M-E-R-C-I !!!
Effectivement j'ai pu me débrouiller et ma macro est fonctionnelle maintenant.
J'ai fait comme vous et appliqué la méthode fournie par Ron De Bruin.
Une belle épine retiré du pieds!!!
Merci encore
 

Discussions similaires

Réponses
7
Affichages
558
Réponses
2
Affichages
623
Réponses
6
Affichages
572
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…