Problème de format lors d'envoi automatique d'emails en VBA

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 !

Marco Woods

XLDnaute Nouveau
Bonjour à tous,

J'ai besoin d'envoyer des mails automatiques avec une plage de cellule fixe.

Le code fonctionne puisque je reçois bien l'email, cependant je n'ai pas le même rendu sur l'email reçu que sur Excel. Pour une raison inconnue, de nombreuses cellules sont colorées en noire...

Ci-joint les deux aperçus (aperçu Excel et aperçu Outlook);

Ci-dessous le code :

Code:
ActiveSheet.Range("K331:AD347").Select
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
    .Introduction = "..."
    .Item.To = "..."
    .Item.Subject = "..."
    .Item.Send
End With

Merci de votre aide et bonne journée !
 

Pièces jointes

  • Aperçu Excel.jpg
    Aperçu Excel.jpg
    21.3 KB · Affichages: 59
  • Aperçu Outlook.jpg
    Aperçu Outlook.jpg
    26 KB · Affichages: 52
Re : Problème de format lors d'envoi automatique d'emails en VBA

bonjour
Moi j'utilise celle ci qui fonctionne trés bien

Code:
ActiveSheet.Select

ActiveSheet.Range("A1:H94").Select ' la plage de cellules à envoyer
ActiveWorkbook.EnvelopeVisible = True
 
With ActiveSheet.MailEnvelope
    .Item.To = ""
    .Item.CC = ""
    .Item.Subject = ""
   

End With
End Sub
 
Re : Problème de format lors d'envoi automatique d'emails en VBA

J'ai colorée toutes les cellules blanches en gris très clair pour tester et là toutes les cellules sont dans la bonne couleur. Cependant, la couleur du "background" de l'email reste en noir pour je ne sais quelle raison...

Merci de votre aide !
 
Re : Problème de format lors d'envoi automatique d'emails en VBA

Bonjour,

Perso j'utilise une macro que m'avais conseillé un membre du forum :

VB:
    Dim FileExtStr As String
    Dim FileFormatNum As Long
    Dim Sourcewb As Workbook
    Dim Destwb As Workbook
    Dim TempFilePath As String
    Dim TempFileName As String
    Dim OutApp As Object
    Dim OutMail As Object
         
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With

    Set Sourcewb = ActiveWorkbook

    'Copier la feuille actuelle comme une nouvelle feuille
    ActiceSheet.Copy 'ou la feuille que tu veux 
    Set Destwb = ActiveWorkbook
    
    'Verification du format Excel
    With Destwb
        If Val(Application.Version) < 12 Then
            'Past 2003
            FileExtStr = ".xls": FileFormatNum = -4143
        Else
            'Post 2007
            Select Case Sourcewb.FileFormat
            Case 51: FileExtStr = ".xlsx": FileFormatNum = 51
            Case 52:
                If .HasVBProject Then
                    FileExtStr = ".xlsm": FileFormatNum = 52
                Else
                    FileExtStr = ".xlsx": FileFormatNum = 51
                End If
            Case 56: FileExtStr = ".xls": FileFormatNum = 56
            Case Else: FileExtStr = ".xlsb": FileFormatNum = 50
            End Select
        End If
    End With
          
       'Enrengistrement, envoi et supression de la partition créée
       
    TempFilePath = Environ$("temp") & "\"
    TempFileName = "le nom" & " que tu veux " & Format(Now, "mmmm") 'mois je mets souvent la date ou le mois dans mes mails

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    With Destwb
        .SaveAs TempFilePath & TempFileName & FileExtStr, FileFormat:=FileFormatNum
        On Error Resume Next
        With OutMail
            .To = 'ton destinataire
            .CC = 'en copie
            .BCC = 'en copie caché
            .Subject = 'sujet
            .Body = 'corps
            .Attachments.Add Destwb.FullName
            
            .Send
        End With
        On Error GoTo 0
        .Close savechanges:=False
    End With

    'Supression de l'onglet créée
    Kill TempFilePath & TempFileName & FileExtStr

    Set OutMail = Nothing
    Set OutApp = Nothing

Bon courage, cette macro fonctionne très bien pour moi et ce sur beaucoup de fichier !
 
- 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

Réponses
12
Affichages
2 K
Retour