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

VBA Outlook Discussion :

VBA/outlook je veux afficher ma saisie avec balises html tout en gardant mon template html dans le mail [OL-2010]


Sujet :

VBA Outlook

  1. #1
    Candidat au Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Avril 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut VBA/outlook je veux afficher ma saisie avec balises html tout en gardant mon template html dans le mail
    Bonjour !

    Je me tourne vers ce forum car j'ai navigué sur tout les autres (et celui-ci) et je n'ai pas trouvé de réponse .

    Description :
    J'ai un code vba sur excel qui permet de remplir un formulaire et d'envoyer un mail avec les données du formulaire tout en respectant une mise en forme (fichier template outlook).

    Problème :
    Dans le formulaire j'ai un champ ou je saisie un message.
    Dans celui-ci je veux pouvoir écrire :
    <p> Bonjour !</p>
    et dans le mail envoyé voir :
    <p> Bonjour !</p>
    et non pas :
    Bonjour !

    Code des infos du formulaires avec format :
    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
     
    Dim outlookApplication As New Outlook.Application
     
        Dim outlookMailItem As Outlook.MailItem
        Set outlookMailItem = outlookApplication.CreateItemFromTemplate(Range("cheminTemplate"))
     
        outlookMailItem.To = TextBoxDestinataire.Text
        outlookMailItem.CC = TextBoxDestinataireCopie.Text
        outlookMailItem.SentOnBehalfOfName = Range("adresseEmission")
        outlookMailItem.BCC = Range("adresseEmission")
     
     
        outlookMailItem.Subject = "[REJECT EDI]" & TextBoxFournisseur.Text
     
        outlookMailItem.HTMLBody = Replace(outlookMailItem.HTMLBody, "dataRejetEDIDateHeure", TextBoxDateHeure.Text)
        outlookMailItem.HTMLBody = Replace(outlookMailItem.HTMLBody, "dataRejetEDIFournisseur", TextBoxFournisseur.Text)
        outlookMailItem.HTMLBody = Replace(outlookMailItem.HTMLBody, "dataRejetEDIMessageMetier", Replace(TextBoxMessageMetier.Text, Chr(13), "<br>"))
        outlookMailItem.BodyFormat = Replace(outlookMailItem.olFormat, "dataRejetEDIRapportTechnique", Replace(TextBoxRapportTechnique.Text, Chr(13), "<br>"))
     
        outlookMailItem.VotingOptions = "Can distribution list be Deleted YES;Can distribution list be Deleted NO"
     
        outlookMailItem.Send

    Cette ligne est concernée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    outlookMailItem.BodyFormat = Replace(outlookMailItem.olFormat, "dataRejetEDIRapportTechnique", Replace(TextBoxRapportTechnique.Text, Chr(13), "<br>"))
    Après outlookMailItem que dois-je mettre en format pour résoudre le problème ? Où il faut regarder ailleurs ?
    Des idées ? Merci d'avance

  2. #2
    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
    Bonjour,

    Je pense qu'il y a une grosse erreur déjà là

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    outlookMailItem.BodyFormat = Replace(outlookMailItem.olFormat, "dataRejetEDIRapportTechnique", Replace(TextBoxRapportTechnique.Text, Chr(13), "<br>"))
    outlookMailItem.BodyFormat c'est pour dire si ton email est au format BRUT OU HTML, ou RICHTEXT

    Référence du développeur Outlook
    OlBodyFormat, énumération
    Spécifie le format du corps de texte d'un élément.
    Nom Valeur Description
    olFormatHTML 2 Format HTML
    olFormatPlain 1 Format simple
    olFormatRichText 3 Format RTF (texte enrichi)
    olFormatUnspecified 0 Format non spécifié

    © 2010 Microsoft Corporation. Tous droits réservés.

  3. #3
    Candidat au Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Avril 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    J'ai testé les olFormatPlain, olFormatRichText, olFormatUnspecified. Toujours la même erreur : 438 propriété ou méthode non gérée par l'objet.

  4. #4
    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
    Il faut supprimer cette ligne qui n a pas de sens

  5. #5
    Candidat au Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Avril 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Cette ligne permet de remplacer la valeur "dataRejetEDIMessageMetier" ecrite dans un template outlook par la valeur saisie dans le formulaire : TextBoxMessageMetier. Je ne peux donc pas la supprimer car sinon dans le mail envoyé la valeur sera vide...

  6. #6
    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
    Remplace bodyformat par htmlbody

  7. #7
    Candidat au Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Avril 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Avec HTMLBody je reviens au statut initial de mon code c'est à dire : ma valeur s'affiche mais sans les balises html.

  8. #8
    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
    Quel interet de voir les balises dans le mail ? Il faudrait peut etre un exemple plus concret.
    Tu peux peut etre doubler tes balises. Ou encoyer ton email au format brut

  9. #9
    Candidat au Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Avril 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    J'ai trouvé la solution !
    J'ai remplacé les balises "< "et ""> par leurs codes ISO afin qu'elles apparaissent en clair dans le mail.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     TextBoxRapportTechnique = Replace(TextBoxRapportTechnique, "<", "&#139;")
     TextBoxRapportTechnique = Replace(TextBoxRapportTechnique, ">", "&#155;")
    La ligne précédente s'écrit toujours comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    outlookMailItem.HTMLBody = Replace(outlookMailItem.HTMLBody, "dataRejetEDIRapportTechnique", Replace(TextBoxRapportTechnique.Text, Chr(13), "<br>"))
    Merci de ton aide en tout cas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/02/2017, 12h00
  2. Réponses: 8
    Dernier message: 02/12/2016, 16h01
  3. Réponses: 3
    Dernier message: 14/03/2012, 09h26
  4. Réponses: 2
    Dernier message: 06/10/2011, 09h27
  5. Réponses: 2
    Dernier message: 05/01/2006, 00h08

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