Envoi Mail avec fichier

Bonjour à tous,

Je vient vers vous à nouveau (précédent problème résolu) car je me trouve devant un autre problème, je doit envoyer un mail avec un fichier .xlsx en appuyant sur un bouton appelé "envoyer" sur ma Feuille "Pannes du Jour", jusque là tout vas bien, là ou les choses se corsent c'est que dans le fichier il ne me faut qu'une plage de cellule (A1:E20) et uniquement si elles contiennent des données tout en sachant que sur ma feuille les deux boutons présents ne doivent pas figurer sur mon fichier .xlsx qui est envoyé et pour le moment ils s'affichent toujours malgré après avoir changer le format de contrôle en "Ne pas déplacer ou dimensionner avec les cellules".

Voici le code que j'utilise:

Private Sub OptionButton3_Click() 'Envoi mail
'
' Mise en forme pour le mail
'
'
Unload Me

    With Range("A1:E31")
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    With Range("E2:E4")
        .HorizontalAlignment = xlLeft
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With

'-- Envoi du mail

    Columns("A:E").Select
    Application.CutCopyMode = False
    Range("A1").Select
    ActiveWindow.DisplayZeros = False

    With ActiveSheet.PageSetup
        .PrintTitleRows = "A:E"
        .PrintTitleColumns = "A:E"

  End With

    Sheets("Pannes du Jour").Copy
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs "W:\Services\Exploitation\Voie publique\Pannes\Pannes" & " - " & Range("M4").Value & ".xlsx"
    ActiveWorkbook.Close "W:\Services\Exploitation\Voie publique\Pannes\Pannes" & Range("M4").Value & ".xlsx"

'---------------------------------------------------

Fichier = "W:\Services\Exploitation\Voie publique\Pannes\Pannes" & " - " & Range("M4").Value & ".xlsx"
Set cdomsg = CreateObject("CDO.message")
With cdomsg.Configuration.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 'NTLM method
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/smptserverport") = 587
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "adresse mail"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "mot de passe"
.Update

End With

'Construction du contenu de l'email Technique

With cdomsg
.To = "adresse mail, adresse mail"
.From = "adresse mail"
.Subject = Range("M4").Value
.TextBody = ""
.AddAttachment "W:\Services\Exploitation\Voie publique\Pannes\Pannes" & " - " & Range("M4").Value & ".xlsx"
.Send
End With
Rep = MsgBox("Email Expédié", vbOKOnly)
    Set cdomsg = Nothing

' Effacement des données après envoi du mail.

Range("A2:A20,C2:E20").ClearContents

End Sub

Merci d'avance pour votre aide.

Rechercher des sujets similaires à "envoi mail fichier"