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 Créer un mail à partir d'un modèle Outlook 2003


Sujet :

VBA Outlook

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 884
    Par défaut VBA Créer un mail à partir d'un modèle Outlook 2003
    Bonjour,

    Je voudrais créer un mail en VBA à partir d'un modèle Outllok 2003 (*.oft)

    Comment faire?

    Est-il possible de prévoir dans le corps du modèle des éléments variables, des champs dont je passerais la valeur en VBA ?

    Merci

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

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Salut,

    Il y a une fonction voici l'exemple de l'aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub CreateFromTemplate()
    	Dim myOlApp As Outlook.Application
    	Dim MyItem As Outlook.MailItem
    	Set myOlApp = CreateObject("Outlook.Application")
    	Set MyItem = myOlApp.CreateItemFromTemplate("C:\statusrep.oft")
    	MyItem.Display
    End Sub
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 884
    Par défaut
    Ca n'indique pas comment gérer des champs variables dans le corps du mail

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 56
    Par défaut
    Bonjour,
    Ce sujet m'interresse car je recherchais une solution pour préparer des messages standard utilisables par une procédure VBA.

    J'ai 2 questions :
    Sous Outlook, comment fait-on pour ouvrir un modèle de mail créé précédement (je n'ai pas trouvé le moyen) ?

    Sous VBA j'arrive à récupérer le mail avec la méthde CreateItemFromTemplate mais je n'arrive pas à récuperer ou ajouter du texte au HTMLBody.
    - Si je ne touche à rien le texte d'origine est bien maintenu dans le mail,
    - Si je modifie (ex : xxx.HTMLBody = xxx.HTMLBody & "texte ajouté .....") seule la partie "texte ajouté ..." apparait dans le mail final.

    Merci d'avance pour votre aide,
    Thierry

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

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Thierry_94 Voir le message
    Bonjour,
    Ce sujet m'interresse car je recherchais une solution pour préparer des messages standard utilisables par une procédure VBA.

    J'ai 2 questions :
    Sous Outlook, comment fait-on pour ouvrir un modèle de mail créé précédement (je n'ai pas trouvé le moyen) ?
    ouvrir le modele c'est à dire ? pour modifier l'original ?
    Sous VBA j'arrive à récupérer le mail avec la méthde CreateItemFromTemplate mais je n'arrive pas à récuperer ou ajouter du texte au HTMLBody.
    - Si je ne touche à rien le texte d'origine est bien maintenu dans le mail,
    - Si je modifie (ex : xxx.HTMLBody = xxx.HTMLBody & "texte ajouté .....") seule la partie "texte ajouté ..." apparait dans le mail final.

    Merci d'avance pour votre aide,
    Thierry
    Quel est ton code exact pour cette opération car chez moi cela fonctionne, mais c'est du HTML donc il lui faut des balises html, le mieux c'est de remplacer la balise "<BODY>" pour un ajout au début ou "</BODY>" pour un ajout à la fin"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Myitem.HTMLBody = Replace(Myitem.HTMLBody, "<BODY>", "<BODY> COUCOU")
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

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

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Daejung Voir le message
    Ca n'indique pas comment gérer des champs variables dans le corps du mail
    Bonjour,
    Peut être devrais tu commencer par consulter cette page
    http://dolphy35.developpez.com/article/outlook/vba/

    MyItem represente ton mail il suffit de changer ses propriétés
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyItem.subject = "mon sujet"
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 884
    Par défaut
    Citation Envoyé par Oliv- Voir le message
    Bonjour,
    Peut être devrais tu commencer par consulter cette page
    http://dolphy35.developpez.com/article/outlook/vba/

    MyItem represente ton mail il suffit de changer ses propriétés
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyItem.subject = "mon sujet"
    Non car ce n'est pas ma question.
    Je sais comment définir un objet ou le corps du mail.

    Est-il possible de prévoir dans le corps du modèle des éléments variables, des champs dont je passerais la valeur en VBA ?

  8. #8
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 56
    Par défaut
    Bonsoir,
    Réponse aux questions d'Oliv :
    Ce que je souhaite faire c'est ouvrir un nouveau mail sur la base du modèle.
    Pour le code, voici une partie du code qui tourne actuellement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    set myItem = Outlook.Application.CreateItem(olMailItem)
    monTexte = "......le texte du mail"
    myItem.BodyFormat = olFormatHTML
    myItem.HTMLBody = "<html>" & monTexte & "</html>"
    La procédure actuelle produit des centaines de mail par jour sur ce principe.

    et ce que je voulais faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    set myItem = Outlook.Application.CreateItemFromTemplate(olMailItem)
    monTexte = "......le texte à ajouter au mail"
    myItem.BodyFormat = olFormatHTML
    myItem.HTMLBody = "<html>" & myItem.HTMLBody & monTexte & "</html>"
    Avec ce code j'obtiens un mail avec uniquement monTexte dans le corps du mail
    ou est mon erreur ?
    Thierry

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

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Daejung Voir le message
    Non car ce n'est pas ma question.
    Je sais comment définir un objet ou le corps du mail.
    Salut,
    Donc je vais répondre à ta question : OUI
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

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

Discussions similaires

  1. [XL-2007] VBA fichier nouvellement créé à partir d'un modèle
    Par gabvoir dans le forum Excel
    Réponses: 4
    Dernier message: 19/05/2014, 14h04
  2. [1.x] Déclenchement envoi de mail à partir d'un modèle
    Par flora806 dans le forum Symfony
    Réponses: 2
    Dernier message: 20/04/2012, 15h40
  3. [XL-2010] Créer un classeur à partir d'un modèle - message d'alerte
    Par Daejung dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/04/2012, 10h48
  4. Réponses: 3
    Dernier message: 22/01/2009, 16h41
  5. [VBA-E] E-mail à partir d'un lien
    Par gantec dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/02/2007, 14h11

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