Envoi fichier Excel par mail

Bonjour, j'envoi un fichier Excel avec la commande sur Excel "enregistrer et envoyer" puis "envoyer en tant que pièce jointe"

Cela m’amène sur Outlook, mais je suis obligé de mettre l'adresse mail manuellement.

Est ce que l'adresse mail peu se mettre automatiquement grâce à une macro ou autre?

Merci de votre retour.

Cdt

René

8envoi-mail.zip (21.61 Ko)

Bonjour,

essaie ceci

je ne dois pas en être loin mais je n'ai pas pu tester car je n'ai plus outlook

Option Explicit
Sub envoi()
Dim messagerie As Object
Dim email As Object

    Set messagerie = CreateObject("Outlook.Application")
    Set email = messagerie.CreateItem(0)
    With email
        .to = "moi@fai.com"
        .Subject = "Envoi du fichier excel"
        .htmlbody = "Veuillez trouver en pièce jointe ..." & .htmlbody
        .Attachments.Add ThisWorkbook.Path & "\" & ThisWorkbook.Name
        .display
    End With
    Set email = Nothing
    Set messagerie = Nothing

End Sub

Bonjour, j'ai mis le code, mais aucune adresse ne se mets sur Outlook.

Ce que j'ai oublié de dire, c'est que le mail peux être envoyé à une ou plusieurs adresses.

Cela est déterminé par la cellule A5 dans mon fichier, feuil "envoi

J'ai ajouté une feuille "Adresse mail" avec en colonne A: les Nom s à qui envoyer et sur la mêmes lignes, les adresses mails à mettre sur le mail

7envoi-mail.xlsm (34.88 Ko)

A part l'adresse mail, est-ce que le reste fonctionne ? est-ce que le mail est prêt à être envoyé avec le fichier joint ? as-tu fait un test avec une adresse mail ? normalement le mail devait comporter moi@fai.com, est-ce le cas ?

Oui, ça marche, mais pas d'adresse mail dans le message pour l'envoi.

Cdt

René

Oui, ça marche, mais pas d'adresse mail dans le message pour l'envoi.

Même pas truc@free.fr ? !

A tester ...

Option Explicit
Sub envoi()
Dim messagerie As Object
Dim email As Object

    Set messagerie = CreateObject("Outlook.Application")
    Set email = messagerie.CreateItem(0)
    With email
        .To = dest(Sheets("Envoi").Range("A5"))
        .Subject = "Envoi du fichier excel"
        .htmlbody = "Veuillez trouver en pièce jointe ..." & .htmlbody
        .Attachments.Add ThisWorkbook.Path & "\" & ThisWorkbook.Name
        .display
    End With
    Set email = Nothing
    Set messagerie = Nothing

End Sub
Function dest(qui As Range) As String
Dim cel As Range, der%, i%
    dest = ""
    Set cel = Sheets("Adresse mail").Columns("A").Find(qui.Value)
    If cel Is Nothing Then Exit Function
    With Sheets("Adresse mail")
        der = .Cells(cel.Row, Columns.Count).End(xlToLeft).Column
        If der = 1 Then Exit Function
        For i = 2 To der
            dest = dest & .Cells(cel.Row, i).Value & ";"
        Next
    End With
End Function

Nota : attention, tout le monde recevra toutes les adresses email !

Re-

J'ai bien mis ton code mais je ne vois toujours pas d'adresse mail dans le message.

J'ai joint le fichier.

Cdt

René

3envoi-mail.xlsm (37.14 Ko)

Attention car certaines lignes n'ont pas de destinataire.

Ajoute ceci :

Sub test()
MsgBox dest(Sheets("Envoi").Range("A5"))
End Sub

et lance cette macro test

J'ai rajouté ton rajout mais toujours rien.

4envoi-mail-1.xlsm (37.65 Ko)

que répond le lancement de la macro test ?

pourrais-tu me faire une copie d'écran ?

idem pour la macro envoi : pourrais-tu me faire une copie d'écran de outlook ?

je ne comprends vraiment pas pourquoi cela coince chez toi !

Bonjour à tous,

Dans le fichier de rgouet de 09:19, il y a une coquille :

c'est écrit : ub test()

au lieu de : Sub test()

Sinon, ça fonctionne ici.

ric

Merci ric, cela me rassure !

Bonjour, suite au message de Ric, j'ai corrigé la coquille.

Mais il ne se passe toujours rien. Même avec la macro test.

Est ce moi qui ne fait pas bien pour envoyer? Je suis sur Office 2010.

Quand je suis sur mon fichier, je fais:

Fichier, Enregistrer et envoyer: Envoyer en tant que pièce jointe.

Cela m'ouvre un message Outlook auquel le fichier est joint.

En Objet: "Copie de Envoi_Mail (1).xlsm"

Mais pas d'adresse mail.

Cdt

René

En effet, il faut que tu lances la macro alors que le fichier excel est ouvert.

Je t'ai ajouté un bouton, clique sur ENVOYER

capture d ecran 694
4envoi-mail-1.xlsm (36.48 Ko)

Merci Steelson, ça marche impeccable.

Encore une petite chose si c'est possible.

A la place de "Veuillez trouver en pièce jointe ..." je veux mettre : un texte ci dessous

"Bonjour,

ci joint le fichier d'ordonnancement pour la semaine concernant la Malterie de Vitry.

Merci de prendre en compte:

  • Le respect des plages d’ordonnancement que je vous fourni.
  • Si vous avez le moindre problème concernant les plages attribuées, me contacter sans tarder.
  • la fin des réceptions à 17h30 et 15h30 le vendredi.
  • Si un de vos camions risquent d'arriver après ces horaires, il faut prendre contact avec le responsable du silo pour voir si il y a possibilité de le réceptionner en dehors de la plage et ne pas l'envoyer sans prévenir.
  • Poids à charge autorisé sur nos sites : selon la réglementation en vigueur.
  • Consigne sur le déchargement des camions : Obligation de décharger par les trappes uniquements, tous les camions non pourvus de trappe ne pourront pas décharger.
  • Interdiction des bennes à fond mouvant.
  • Règle de sécurité en vigueur sur le site

Cordialement"

Merci de ton retour.

ok

je ne peux pas le faire maintenant, mais je vais te préparer quelque chose qui te donnera la main ...

J'ai bien essayé, mais vu la taille du texte, cela coince, j'attends ton retour.

Cdt

René

Essaie ceci, j'ai mis le texte en cellule A1 de l'onglet Texte

edit : fichier supprimé, corrigé plus loin

Bonjour, j'ai une erreur de compilation, image jointe.

Merci de ton retour.

Cdt

René

erreur de compilation
Rechercher des sujets similaires à "envoi fichier mail"