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

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: 55
  • Aperçu Outlook.jpg
    Aperçu Outlook.jpg
    26 KB · Affichages: 48

reinruof77

XLDnaute Occasionnel
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
 

Marco Woods

XLDnaute Nouveau
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 !
 

AntoineM

XLDnaute Junior
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 !
 

Discussions similaires

Réponses
12
Affichages
2 K

Statistiques des forums

Discussions
312 195
Messages
2 086 083
Membres
103 114
dernier inscrit
sylvainb6969