Code VBA envoyer par mail le contenu Excel

Bonjour le forum

je cherche un code vba pour envoyer par mail le contenu de ma feuille excel non pas en pièce jointe mais intégré dans le message

merci pour votre aide

bonne journée

Bonjour

Avec Outlook

Sub MailDansCorps()
Application.ScreenUpdating = False

'Plage à envoyer
Range("A1:H21").Select

ActiveWorkbook.EnvelopeVisible = True

    With ActiveSheet.MailEnvelope
        .Introduction = "Bonjour , ci joint les données ..."
        .Item.To = "nad_xlp@yahoo.fr" 'mail du destinataire
        .Item.Subject = "Fichier"
        .Item.Send
    End With
    MsgBox "Le mail a bien été envoyé"
End Sub

Amicalement

Nad

merci pour la réponse rapide

mais malheureusement cela ne fonctionne pas, je ne recois pas les mails

Re

Dans VBA, vérifie dans OUTILS ==> Références que "Microsoft Office12.0 Object Library" soit coché

Nad

C'est bien le cas


je retrouve mes mails dans outlook mais ils ne sont pas envoyés

Re

Ils sont dans "éléments envoyés" ?

non dans boite d'envoi


il faut peut etre parametrer outlook car ce n'est pas ma messagerie par defaut c'est wlm

Re

Peux-tu faire un print écran des références que tu as dans VBA

voila

capture01

Re

Les références sont correctes.

Je suppose que ce n'est pas la 1ère fois que tu utilises Outlook et que ce problème de message restant dans Boite d'envoi ne concerne que

le message envoyé directement par le code.

Donc, je ne vois pas puisque chez moi ça fonctionne.

Si quelqu'un d'autre peux essayer ...

Amicalement

Nad

Re, à tous

En fait j'avais déjà pris le code et mis dans un de mes fichiers?. Puis je me suis envoyé le message.

je constate qu'il arrive déjà bien dans éléments envoyés puis dans la boite de réception si je fais envoyer/Recevoir il se présente dans la boite de réception.

Cordialement .

Bonsoir psdi

Merci de ton retour.

Si le mail part quand tu cliques sur "envoyer-recevoir" c'est peut-être dû au délai que tu as déterminé dans les options.

Peux-tu essayer en mettant 1 mn ?

capture

Amicalement

Nad

Effectivement j'étais sur 30mn . Je l'ai mis sur 1mn et j'ai fait la manip sur excel. 1mn après j'étais informé qu'un message était présent et dispo dans la boite de réception quand j'ai ouvert Outlook.


Re,

je pense que tout fonctionne bien pour la partie émission.

Pour ma part j'ai rencontré quelques problèmes . Au départ j'ai reçu un message d'alerte qui me disait qu'il y avait des lignes ou colonnes masquées. J'ai supprimé le message avec un display Alerts. Par contre, je ne sais pas pourquoi mais à chaque fois toutes les cellules n'apparaissent pas avec une valeur.

Cordialement


Désolé , je voulais dire à chaque fois "quelques" cellules sont vides.

Bonjour le forum

J'ai résolu mon soucis d'hier c'était mon outlouk qui était mal installé merci à Nad pour son aide.

Dans ma sélection , pour envoyer par mail j'ai des comanbuttons et je ne voudrai pas qu'ils apparaissent dans le mail

comment faire si cela est possible

merci

Bon dimanche à tous

Private Sub envoyermail_Click()
Application.ScreenUpdating = False

'Plage à envoyer
Range("A1:F44").Select

ActiveWorkbook.EnvelopeVisible = True

    With ActiveSheet.MailEnvelope
        .Introduction = "Bonjour , ci joint demande de congés..."
        .Item.To = "machin@msn" 'mail du destinataire
       .Item.Subject = "Fichier"
        .Item.Send
    End With
    MsgBox "Le mail a bien été envoyé"
End Sub

Bonjour

Essaye

Private Sub envoyermail_Click()
Application.ScreenUpdating = False

ThisWorkbook.ActiveSheet.Copy
'Plage à envoyer
Range("A1:F44").Select
ActiveSheet.DrawingObjects.Delete

ActiveWorkbook.EnvelopeVisible = True

    With ActiveWorkbook.ActiveSheet.MailEnvelope
            .Introduction = "Bonjour , ci joint demande de congés..."
            .Item.To = "machin@msn" 'mail du destinataire
          .Item.Subject = "Fichier"
            .Item.Send
    End With
    ActiveWorkbook.Close False
        MsgBox "Le mail a bien été envoyé"
End Sub

Amicalement

Nad

merci de ta réponse rapide

mais il y a un bug cela m'ouvre juste une copie

Ca fait

  • une copie de la feuille active dans un nouveau fichier
  • la sélection des cellules à envoyer
  • la suppression des objets
  • l'envoi de la sélection
  • la fermeture du nouveau fichier

Ce n'est pas ce qu'il se passe ?

une copie oui mais apres

Private Sub envoyermail_Click()
Application.ScreenUpdating = False

ThisWorkbook.ActiveSheet.Copy
'Plage à envoyer
'---> probleme ici'[color=#FFFF00]Range("A1:F44").Select[/color]
ActiveSheet.DrawingObjects.Delete

ActiveWorkbook.EnvelopeVisible = True

    With ActiveWorkbook.ActiveSheet.MailEnvelope
            .Introduction = "Bonjour , ci joint demande de congés..."
            .Item.To = "machin@msn" 'mail du destinataire
         .Item.Subject = "Fichier"
            .Item.Send
    End With
    ActiveWorkbook.Close False
        MsgBox "Le mail a bien été envoyé"
End Sub

Re

Modifie

'Plage à envoyer

ActiveSheet.Range("A1:F44").Select

Nad

apres avoir changé ce que tu m'as dit le fichier arrive bien en mail mais sans les informations des cellules

chaques commandbuttons indiquaient des informations dans des cellules .c'est disparu

mon code fonctionne peux tu me dire se c'est correct?

Private Sub envoyermail_Click()
Application.ScreenUpdating = False

'Plage à envoyer
Range("A1:F44").Select
ActiveSheet.DrawingObjects.Visible = False
ActiveWorkbook.EnvelopeVisible = True

    With ActiveSheet.MailEnvelope
        .Introduction = "Bonjour , ci joint demande de congés..."
        .Item.To = "machin@msn" 'mail du destinataire
       .Item.Subject = "Fichier"
        .Item.Send
    End With
    MsgBox "Le mail a bien été envoyé"
    Workbooks("Planning.xlsm").Close False
End Sub
Rechercher des sujets similaires à "code vba envoyer mail contenu"