IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Envoyer une feuille excel en corps de message


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 33
    Par défaut Envoyer une feuille excel en corps de message
    Bonjour, j'ai un code écrit par Mr Poulpe me permettant d'envoyer une feuille à un destinataire contenu dans une cellule de la feuille.
    Ce code fonctionne très bien, mais les destinataires voudraient que la feuille soit envoyée en corp de message plutot qu'en pièce jointe.
    J'ai essayé de modifier le code mais du coup plus rien ne fonctionnait.
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    Sub EnvoiPage_2()
    Dim Destinataires(4) As String, Sujet As String
    Dim AccuseReception As Boolean
    Dim Demande2 As Worksheet, Fabricants As Worksheet
    Dim Destinataire_1 As String
     
     
    Set Demande2 = ThisWorkbook.Sheets("Demande2") 'Modifier la feuille ici
    Set Fabricants = ThisWorkbook.Sheets("Fabricants")
     
    'Modifier les mails des destinataires
     
    If MsgBox("Envoyer le mail à l'adresse suivante : " & Demande2.Range("C14") & " ou entrer une adresse?", vbYesNo, "Choix du destinataire") = vbYes Then
        Destinataire_1 = CStr(WorksheetFunction.VLookup(Demande2.Range("C14"), Fabricants.Range("A:B"), 2, False))
    Else
        Destinataire_1 = InputBox("Veuillez entrer l'adresse mail du destinataire", "Choix du destinataire")
    End If
     
    Debug.Print Destinataire_1
    If Not Destinataire_1 Like "*@*.*" Or Destinataire_1 Like "* *" Then
        MsgBox "Format de l'adresse mail non valide", vbCritical, "Adresse mail non valide"
        Exit Sub
    End If
     
     
    Destinataires(1) = Destinataire_1
    Destinataires(2) = "dudule@gmail.com"
    Destinataires(3) = "bidule@gmail.com"
    Destinataires(4) = "machin@gmail.com"
    Sujet = "Sujet"
    AccuseReception = False
    'Nom de la feuille (remplacer Recap par celui de la Feuille à envoyer)
    ThisWorkbook.Sheets("Demande2").Copy
    ActiveWorkbook.SendMail Destinataires, Sujet, AccuseReception
    ActiveWorkbook.Close False
    ActiveSheet.PrintOut
    End Sub
    Quelqu'un aurait-il une idée ?
    Merci d'avance

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Bonjour

    j'ai donné plusieurs exemples dans les contributions

    fait une recherche avec mon pseudo et mail ,corps ,table et Outlook pour mon dernier exemple

    tu peut regarder aussi dans les contributions comment je converti une plage en table html en respectant le theme source

    le principe étant de convertir la plage en table HTML avant tout

    bonne recherche
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 33
    Par défaut
    Bonjour Patrick, j'ai suivi tes conseils.
    J'ai cherché et trouvé comment créer le fichier HTML.
    Maintenant c'est au niveau de l'envoi que ça plante.
    Je n'arrive pas à associer le code de Mr Poulpe que je suis obliger de garder car il gère le changement de destinataire, et les codes que je trouves pour l'envoi du fichier HTML.
    Peux-tu m'aiguiller ?

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut
    Bonjour
    désolé de t'enlever toutes tes illusion mais avec cette méthode tu ne pourra pas intégrer du code html dans le corps du message

    il va te falloir passer par CDO ou l'application Outlook
    je n'utilise pas Outlook donc sur ce point je ne pourrait pas t'aider

    quand au fait que tu puisse choisir le destinataire c'est pas un soucis puisque qu'elle se fait avec vlookup ou un inputbox
    on peu donc intégrer cela dans une méthode CDO ou outlook

    voila désolé si tu persévère je t'aiderais sinon tant pis

    encore une question y a t il vraiment toute la page demande a envoyer ou seulement une plage
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre émérite
    Homme Profil pro
    conseiller
    Inscrit en
    Janvier 2013
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : conseiller
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 367
    Par défaut
    Bonjour à tous,
    regarde ce lien si cela peut t'aider.
    A+

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 33
    Par défaut
    Bonjour Patrick,
    Désolé du retard, suite à une erreur de code cela m'a endomagé le fichier.
    J'ai du tout refaire.
    Donc je voudrais envoyer le tableau contenu dans la feuille "Demande2" à plusieurs adresses ( dont une qui est modifié suivant le nom rentré dans la cellule C14 de cette feuille ) par outlook en corps de message.
    Mr poulpe m'a donné le code ci dessus ( qui fonctionne très bien ).
    Sauf que les destinataires voudraient que le tableau soit en corps de mail plutôt qu'en pièce jointe.
    D'après tout ce que j'ai pu lire sur les forums, il faut convertir la feuille en HTML et l'envoyer en tant que corps de mail.
    J'ai réussi à faire le code pour enregistrer ma feuille en HTML mais je n'arrive pas à modifier le code de Mr poulpe pour l'envoyer dans le corps du mail.

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/12/2008, 19h34
  2. Emailer une partie d'une feuille excel dans le corps d'un email avec Lotus
    Par cecilesgcib dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/10/2008, 12h54
  3. Réponses: 10
    Dernier message: 22/07/2008, 13h30
  4. Envoyé une formule NB.SI dans une feuille excel
    Par Dream Master dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/06/2007, 10h06
  5. envoyer le contenu de variables vba vers une feuille excel
    Par Sebastien_INR59 dans le forum Access
    Réponses: 1
    Dernier message: 21/06/2006, 19h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo