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 :

Ecrire un message pour Outlook


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 362
    Par défaut Ecrire un message pour Outlook
    Bonsoir,

    N'étant pas un spécialiste je vais parler avec mes mots.

    Dans l'application que je développe, à mon aise , je propose via un contrôle activeX d'envoyer de manière automatique un email à une personne bien précise.

    J'ai bien entendu écrit le code associé au click de mon bouton Email. Et cela fonctionne très bien: un mail part avec un message préformaté avec en pièce jointe le fichier manipulé.

    Mais évidemment il y a un mais. J'aurais aimé savoir comment proposer à l'utilisateur d'entrer le message que LUI veut envoyer.

    J'ai essayé dans mon UserForm avec un TextBox mais lorsque j'ai essayé j'ai constaté que l'on ne pouvait pas donner forme au message. On ne peut pas revenir à la ligne, tabuler etc.

    Donc ma question est comment faire pour proposer une fenêtre dans laquelle on peut entrer un message destiné au . body de l'application Outlook ?

    Si je ne suis pas clair dites-le moi.

    Bonne soirée

    PS en quelque sorte comme cette fenêtre dans laquelle je viens d'entrer mon post.

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,
    La macro suivante découpe le texte d'un textbox entré "au kilomètre" en tronçons de 80 caractères environ :

    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
    Private Sub CommandButton1_Click()
        txt = ""
        ctr = 0
        tabl = Split(Me.TextBox1.Text, " ")
        For i = 0 To UBound(tabl)
        If ctr > 80 Then
            ctr = Len(tabl(i)) + 1
            txt = txt & vbCrLf & tabl(i) & " "
        Else
            ctr = ctr + Len(tabl(i)) + 1
            txt = txt & tabl(i) & " "
        End If
        Next i
        Set olApp = CreateObject("Outlook.application")
        Set m = olApp.CreateItem(olMailItem)
        With m
            .Subject = "Subject"
            .Body = txt
            .Recipients.Add "test@test.com"
            .display
        End With
        Set olApp = Nothing
        tabl = Split(txt, Chr(10))
    End Sub

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 362
    Par défaut
    Bonjour Daniel,

    J'ai essayé ton code et cela ne produit pas l'effet escompté.

    Pour être clair sache que je l'ai mis dans un CommandButton de mon UserForm.

    Le code s'exécute mais il n'y a pas le split.

    une explication ?

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Exact, j'ai cherché midi à quatorze heures. Avec les propriétés du textbox mises à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EnterKeyBehaviour = True
    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
    Private Sub CommandButton1_Click()
        Dim Tabl, Txt As String
        Tabl = Split(Me.TextBox1.Text, vbCrLf)
        For i = 0 To UBound(Tabl)
        Txt = Txt & Tabl(i) & vbCrLf
        Next i
        Set olApp = CreateObject("Outlook.application")
        Set m = olApp.CreateItem(olMailItem)
        With m
            .Subject = "Subject"
            .Body = Txt
            .Recipients.Add "test@test.com"
            .display
        End With
        Set olApp = Nothing
    End Sub

Discussions similaires

  1. Office 2010 - Word reste l'éditeur de messages pour Outlook
    Par Dolphy35 dans le forum Microsoft Office
    Réponses: 3
    Dernier message: 15/08/2009, 04h04
  2. Réponses: 1
    Dernier message: 19/06/2008, 15h25
  3. ecrire un iterateur pour une classe
    Par Blowih dans le forum C++
    Réponses: 2
    Dernier message: 15/11/2004, 19h19
  4. Comment sauvegarder les messages de Outlook express ?
    Par tarbala dans le forum Outlook Express / Windows Mail
    Réponses: 5
    Dernier message: 06/08/2004, 17h31
  5. Message pour Morsi sur l'adresse IP
    Par bizu31 dans le forum Access
    Réponses: 2
    Dernier message: 16/06/2004, 08h39

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