Envoi par mail une feuille de classeur

Bonjour à tous

Je souhaiterai envoyé une feuille de classeur par mail. J'ai copié et adapté un code qui fonctionne sur un fichier mais qui ne fonctionne pas sur celui que je vous fait parvenir. Ce fichier bien qu'il comporte qu'un seul feuillet "aout" fonctionnera avec tous les mois de l'année

merci par avance pour votre aide

cordialement

mibri

15facturation.xlsm (16.45 Ko)

Bonjour,

c'est normal ça ?

ThisWorkbook.Sheets("Feuil2(aout").Copy

Ne serai-ce pas plutôt :

ThisWorkbook.Sheets("aout").Copy

merci pour ta réponse mais j'ai un message "l'indice n'appartient pas à la sélection"

cdt

mibri

Pour cette fonctionnalité, je me suis servi dans un de mes classeur des infos de cette page : http://www.rondebruin.nl/win/section1.htm

si ça peut t'aider, perso j'y ai trouvé mon bonheur en matière d'envoi par mail à partir d'Excel.

merci mais je n'y comprends strictement rien....

Que veux-tu faire exactement ?

1 - Envoyer la feuille complète en PJ à un mail ?

2 - Envoyer un mail avec pour corps le contenu de la feuille ?

Suivant le cas, le code est différent.

Pour le cas n°1, voir ce code (assez conséquent) : http://www.rondebruin.nl/win/s1/outlook/amail2.htm

Pour le cas n°2, voir ce code (assez simple en réalité) : http://www.rondebruin.nl/win/s1/outlook/amail4.htm

SI ça peut t'aider, voici un extrait du code que j'utilise pour envoyer un mail avec un contenu formaté :

Sub envoi_besoin()
'macro pour envoyer un mail de confirmation
    Dim OutApp As Object
    Dim OutMail As Object
    Dim plage, i As Range
    Dim nom As String

    nom = Sheets("DATA").Range("B1").Value 'le champ qui contient l'adresse mail du destinataire
    Set i = Selection
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    'Plage.Select

    With OutMail

        .To = (nom)
        .cc = ""
        .Subject = "Sujet du mail n° " & Cells(i.Row, 22) 'ici j'ai un numéro de suivi
        ' ici on utilise la fonction qui converti la plage Excel en données HTML

        ' afficher
        .Display

         .HTMLBODY = "Bonjour, <BR>" & vbCrLf _
         & "<BR>" & vbCrLf _
         & "Contenu du mail (corps du texte) " & vbCrLf _
         & "bla bla bla <BR>" & vbCrLf _
         & "<BR>" & vbCrLf _
         & "Cordialement. <BR>" & vbCrLf _
         & "<BR>" & vbCrLf _
         & "<b>l'expéditeur du mail ou sa signature</b> <BR><BR>"

         .Display

        ' envoyer
        '.Send

    End With

    Set OutApp = Nothing
    Set OutMail = Nothing
    Set i = Nothing
End Sub

merci pour le travail que tu as fourni mais je ne suis pas du tout initié en VBA encore moins en anglais.

Le fichier que j'ai adressé au forum comporte un onglet il en comportera 12 ensuite, un pour chaque mois.

Je souhaite adressé lorsque j'en aurai besoin une feuille du classeur à un destinataire.

Le code que j'ai copié en provenance d'un autre fichier et qui fonctionne parfaitement ne fonctionne pas sur ce fichier exemple, pourquoi ??

est ce que tu peux corriger ce que peut être j'ai mal adapté....

merci d'avance

cdt

Ce que j'ai oublié de te dire, c'est que le code crée bien une feuille "classeur1" mais ne l'envoie pas .....

merci

Bonjour,

j'ai réussi à adapter le code à mon application, ça marche. Je te remercie pour ton aide

bonne journée

cordialement

mibri

Rechercher des sujets similaires à "envoi mail feuille classeur"