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 :

Envoi pièce jointe, code HTML dans Outlook non visible !


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club Avatar de etorria
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 107
    Points : 49
    Points
    49
    Par défaut Envoi pièce jointe, code HTML dans Outlook non visible !
    Bonjour,

    Quotidiennement je remplis un tableau Excel que je converti ensuite au format PDF avec PDFCreator puis j'envoi à l'aide d'un code VBA via Outlook.
    L'envoi se passe parfaitement mais lorsque je lis le message aucun texte n'apparaît dans le corps du message.
    Pourriez vous m'aider à trouver le bogue ?

    Merci à vous !

    Ci-joint le fichier :

    Etorria
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Salut,

    il y a une simple faute de frappe dans ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    myItem.HTMLBody = strlHtml
    pour éviter cela, code
    en tout début de module et alors tu calleras à la compil pour toute variable non définie.

    Fastidieux ? Oui mais tellement plus efficace et payant !!!
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  3. #3
    Membre du Club Avatar de etorria
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 107
    Points : 49
    Points
    49
    Par défaut
    Merci à toi.
    Cependant après correction, un message d'erreur de compilation s'affiche s'arrêtant sur cette ligne : Set myItem = ol.CreateItem(olMailItem)

    Une idée ?

    A+
    Etorria

  4. #4
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    je n'ai pas outlook (mais lotus notes) alors je ne sais pas tester.

    Mais je suppose qu'l ne connait pas OlmailItem.

    Tu devrais aussi regarder dans la faq (a mail).

    je viens e regarder, sans rien connaitre à ton sujet, et j'ai trouve du code qui confirme ce que je pense. (Il te manque le dim de MyItem (comme OlItem ci-dessous).
    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
    Sub CreationMailEtLienHypertexte()
        Dim OlApp As Outlook.Application
        Dim OlItem As Outlook.MailItem
        'Nécessite d'activer la référence "Microsoft Outlook xx.x Object Library"
        
        Set OlApp = New Outlook.Application
        Set OlItem = OlApp.CreateItem(olMailItem)
        
        With OlItem
            .To = "NomPrenom@mail.fr"
            .Subject = "Le titre du message"
            .Body = "Découvrez Microsoft Office sur le site Developpez" & _
                vbLf & "http://www.developpez.com" & vbLf & vbLf & _
                "Cordialement" & vbLf & "mailto:emetteur@mail.fr"
            .Display
            .Save
            .Send
        End With
        
        Set OlItem = Nothing
        Set OlApp = Nothing
    End Sub
    Et oui tout définir, mais au moins on comprends.
    Merci de penser à la . et au help de VBA. On y apprends plein de choses.
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  5. #5
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Salut à tous,

    DAns ton fichier Excel tu n'as pas ajouté la référence à OUTLOOK de ce fait tu ne peux pas utiliser des constantes propres à OUTLOOK (olMailItem )

    Pour ta question dans le code sur le nom du pdf tu dois le récupérer dans ta procédure de création du PDF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .cOption("AutosaveFilename") = LeNom

    Enfin cete façon de faire pour envoyer un MAIL doit te générer une alerte de sécurité, pour l'éviter tu peux utiliser CDO pour l'envoi.
    http://www.developpez.net/forums/sho...&highlight=cdo

    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
    Option Explicit
     
    Sub Envoi()
    Const olMailItem = 0
     
    Dim ol As Object, myItem As Object
    Dim strHtml As String
     
    strHtml = "Bonjour , <BR>"
    strHtml = strHtml & "<BR><font size=6mm>" & "Vous trouverez ci-joint le tableau</font></B>"
    strHtml = strHtml & "<BR><BR><BR>" & "<font color=red>Cordialement</font>" & "<BR>"
    strHtml = strHtml & Environ("himself")
    strHtml = strHtml & "xxx"
     
    Set ol = CreateObject("Outlook.application")
    Set myItem = ol.CreateItem(olMailItem)
     
    myItem.To = "cmoi@free.fr"
    myItem.Subject = "Tableau en date du xx/xx/2008" 'Comment insérer ici automatiquement la date du fichier, en sachant que l'envoi se fait quotidiennement avec une date différente ?
    myItem.HTMLBody = strHtml
    myItem.Attachments.Add ("c:\pdf\Tableau du xx/xx/2008.pdf")
              'myItem.Attachments.Add ActiveWorkbook.FullName
    myItem.display
     
    Set ol = Nothing
     
    End Sub
     
    Private Sub CommandButton1_Click()
    Call Envoi
    End Sub

  6. #6
    Membre du Club Avatar de etorria
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 107
    Points : 49
    Points
    49
    Par défaut
    Bonjour et merci !
    Je vais tester, je reviendrai le cas échéant !
    Bonne après-midi !
    Etorria

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/02/2014, 20h41
  2. [OL-2003] Comment insérer du code HTML dans Outlook 2003 ?
    Par fefe69 dans le forum Outlook
    Réponses: 0
    Dernier message: 25/07/2009, 18h42
  3. Réponses: 6
    Dernier message: 16/11/2005, 11h46
  4. [Forum][Script] Envoi pièce jointe
    Par valentin73 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 05/09/2005, 11h55
  5. Insertion code html dans bdd
    Par jeff37 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 15/04/2004, 15h03

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