Extraire texte de cellules et insérer ce texte dans un email.

uhb Messages postés 4 Statut Membre -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Je suis en train de revoir mes notions de VBA.

J'ai un classeur avec plein de lignes, ces lignes contiennent des dates, des fournisseurs différents ...

Je voudrais pouvoir cliquer sur un bouton à la fin de ma ligne et récupérer les informations de cette ligne en particulier pour les coller automatiquement dans le corps et l'en-tête d'un email (un template d'outlook pour être précis).

Je n'attends pas de vous que vous fassiez cette macro pour moi, je veux chercher par moi même, mais j'aimerais juste déjà savoir si c'est possible ?

Merci
Eric

3 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    coller automatiquement dans le corps et l'en-tête d'un email (un template d'outlook pour être précis). Utilisez-vous un modéle ???
    0
  2. uhb Messages postés 4 Statut Membre
     
    Salut, oui un template c'est un modèle.
    0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    'Dans l'éditeur VBA: Menu / Tools / Reference / Cocher "Microsoft Outlook Library" de votre Office
    Sub SendMail_Outlook()
    Dim OL As Object
    Dim OLmail As Object
    Dim MyItem As Outlook.MailItem

    'test si Outlook est ouvert
    Set OLk_Appli = CreateObject("Outlook.Application")
    If OLk_Appli.Explorers.Count > 0 Then
    'Ok outlook ouvert
    Else
    'mettre le bon chemin outlook
    OLk_OK = Shell("C:\Program Files (x86)\Microsoft Office\Office15\outlook.exe", vbHide)
    End If

    Set OL = CreateObject("Outlook.Application")
    '---------------
    'avec Model
    Set MyItem = OL.CreateItemFromTemplate("Chemin et nom du model")
    'si piece jointe: chemin piece-jointe
    'piece_jointe=""
    With MyItem
    .To = "zzzzzzzzzz@fai.xxxxx"
    .Subject = Range("A1") ' a vous de mettre ce que vous avez besoin
    '.Body = "azerty template" 'a vous de mettre ce que vous avez besoin
    '.AddAttachment (piece_jointe)
    '.Display 'attente envoi manuel
    .Send 'envoi auto
    End With

    'tempo attente avant fermeture Outlook
    temps = Timer
    Do While Timer - temps < 2
    DoEvents
    Loop

    'close Outlook
    OLk_Appli.ActiveExplorer
    OLk_Appli.Quit
    Set OLmail = Nothing
    Set OL = Nothing
    Set OLk_Appli = Nothing

    End Sub
    0