arnoldbrice19
XLDnaute Nouveau
Bonjour les experts,
J'espère que vous vous portez bien !
Je viens vers vous aujourd'hui trouver un soutien qui m'aidera à terminer ma macro VBA.
En effet, j'ai structuré la macro de telle sorte qu'elle lise les données dans les cellules de ma feuille, plutôt que de les intégrer directement dans le code. Le code est le suivant vous pemettra de prendre connaissance :
Intention : Je voudrai joindre au corps du mail (contenu dans la cellule "B7") la plage de cellules "A15:L46", mais l'ajout de cette sélection me casse la tête, vu mon niveau en VBA. Je suis un pur débutant et je compte m'améliorer avec votre aide.
Mon problème se situe au niveau de la variable "rngFacture". Comment structurer le code pour que ça fonctionne efficacement ?
Je précise que je souhaite passer par ma méthode de rédaction du mail, c'est-à-dire, dans une cellule concaténer avec les formules et la lire dans le code. J'y ai joint un extrait de mon fichier.
Merci par avance de votre soutien !
J'espère que vous vous portez bien !
Je viens vers vous aujourd'hui trouver un soutien qui m'aidera à terminer ma macro VBA.
En effet, j'ai structuré la macro de telle sorte qu'elle lise les données dans les cellules de ma feuille, plutôt que de les intégrer directement dans le code. Le code est le suivant vous pemettra de prendre connaissance :
VB:
Sub RedigerRelance1()
'Déclaration des variables
Dim objOutlook As Outlook.Application
Dim objMail As Outlook.MailItem
Dim strDateRelance As String
'Récupération des informations de la facture
strDateRelance = Format(Sheets("Etat des factures clients").Range("E68").Value, "yyyy-mm-dd")
'Création de l'objet Outlook
Set objOutlook = CreateObject("Outlook.Application")
'Création de l'objet MailItem
Set objMail = objOutlook.CreateItem(0)
With objMail
Dim rngFacture As Object
'Sélection de la plage de cellules à insérer dans le corps du mail
Set rngFacture = Sheets("Etat des factures clients").Range("A15:L46")
'Définition de l'objet destinataire
.To = Sheets("Etat des factures clients").Range("B71").Value
'Définition de l'objet objet Cc
.CC = Sheets("Etat des factures clients").Range("E71").Value
'Définition du sujet du mail
.Subject = "Situation de paiement pour factures non soldées"
'Le corps du mail contient la plage de cellules
.Body = Sheets("Etat des factures clients").Range("B76").Text
rngFacture.Copy
'Définition du corps du mail
.Body = .Body & rngFacture.Range(0).Paste
End With
'Ouverture de la boite d'édition mail
objMail.Display
End Sub
Intention : Je voudrai joindre au corps du mail (contenu dans la cellule "B7") la plage de cellules "A15:L46", mais l'ajout de cette sélection me casse la tête, vu mon niveau en VBA. Je suis un pur débutant et je compte m'améliorer avec votre aide.
Mon problème se situe au niveau de la variable "rngFacture". Comment structurer le code pour que ça fonctionne efficacement ?
Je précise que je souhaite passer par ma méthode de rédaction du mail, c'est-à-dire, dans une cellule concaténer avec les formules et la lire dans le code. J'y ai joint un extrait de mon fichier.
Merci par avance de votre soutien !