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 :

Bouton vers maccro vers mail avec pj


Sujet :

VBA Outlook

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Bouton vers maccro vers mail avec pj
    Bonjour.

    Pour commencer je tenais à m'excuser si mon message n'est pas posté au bon endroit sur ce forum.

    J'ai une problématique avec un code VBA (je n'y connaissais encore rien ce matin, excusez mon ignardise).

    J'ai un document word ou excel que je veux envoyer à certaines personnes qui doivent me le retourner complété.

    J'aimerai pouvoir ajouter à mon document un bouton qui permetterai aux destinataires du doc de ne pas avoir à sauvegarder leurs modifications sur le document et devoir ouvrir un nouveau mail et ajouter une pièce jointe.

    Donc : Bouton => sauvegarde => ouverture outlook => nouveau mail avec destinataires / objet / texte pré remplis => ajout du formulaire modifié.

    J'ai plus ou moins reussi à bricoler quelque chose en cherchant longuement (visiblement pas assez ) sur les différents forums.

    Voici ce que ça donne :

    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
    Sub Button1_Click()
     
        Dim mailApp As Outlook.Application
        Dim email As Mailitem
     
        Set mailApp = New Outlook.Application
        Set email = mailApp.createitem(olmailitem)
     
        ActiveDocument.SaveAs ("Book1.xlsm")
        With email
            .to = "mailto.mail@mailto.mail"
            .Subject = "Formulaire de visite"
            .body = "Veuillez trouver ci-joint le formulaire de visite"
            .attachments.Add "Book1.xlsm"
            .Display
            '.send
        End With
    End Sub
    Merci d'avance pour vos réponses.

  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 que tu as confondu dans ton code les objets WORD et EXCEL.

    Tu peux essayer à partir d'EXCEL , comme cela

    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
    Sub Button1_Click()
     
        Dim mailApp As Outlook.Application
        Dim email As Mailitem
     
        Set mailApp = New Outlook.Application
        Set email = mailApp.createitem(olmailitem)
     
     Application.DisplayAlerts = False
     'il faut donner le chemin complet ici pour mettre dans le répertoire temporaire
     fichier = Environ("temp") & "\" & "Book1.xlsx"
     
    'ici on renvoi un fichier excel sans les macros
         ActiveWorkbook.SaveAs fichier, xlOpenXMLWorkbook
        Application.DisplayAlerts = True
        With email
            .to = "mail@mailto.mail"
            .Subject = "Formulaire de visite"
            .body = "Veuillez trouver ci-joint le formulaire de visite"
            .attachments.Add fichier
            .Display
            '.send
        End With
    End Sub

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Bonjour et merci de m'apporter une réponse aussi rapidement !

    J'essaie de lancer ce bout de code dans excel mais j'ai une erreur qui arrive : Compile error : User-defined type not defined. Le debug me dit que cela viendrai de la premiere ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sub Button1_Click()

  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
    et comme cela

    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
    Sub Button1_Click()
     
        Dim mailApp As Object
        Dim email As object
     
        Set mailApp = createobject(Outlook.Application)
        Set email = mailApp.createitem(0)
     
     Application.DisplayAlerts = False
     'il faut donner le chemin complet ici pour mettre dans le répertoire temporaire
     fichier = Environ("temp") & "\" & "Book1.xlsx"
     
    'ici on renvoi un fichier excel sans les macros
         ActiveWorkbook.SaveAs fichier, xlOpenXMLWorkbook
        Application.DisplayAlerts = True
        With email
            .to = "mail@mailto.mail"
            .Subject = "Formulaire de visite"
            .body = "Veuillez trouver ci-joint le formulaire de visite"
            .attachments.Add fichier
            .Display
            '.send
        End With
    End Sub

  5. #5
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Alors ça va mieux au niveau de la premère ligne.

    J'ai du rajouter Microsoft Outlook 14.0 Object Library dans les References.

    il me ressort une erreur : Run-time error 429 : ActiveX component can't create object.

    le debug me dit que c'est cette ligne ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set mailApp = CreateObject(Outlook.Application)
    C'est la meme ligne qui m'avait fait rajouter Microsoft Outlook 14.0 Object Library dans les References.

  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
    oups
    il faut mettre des guillemets

    Set mailApp = createobject("Outlook.Application")

  7. #7
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Génial !

    Merci pour la réactivité, vous me sauvez la vie.

    Bonne journée !

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

Discussions similaires

  1. [AC-2013] envoyer mail avec pièce jointe d' Access vers outlook
    Par stephi222 dans le forum Access
    Réponses: 2
    Dernier message: 11/10/2015, 10h44
  2. [MySQL] Envoyer mail vers gmail en local avec wamp
    Par oieretxe dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 15/10/2014, 21h06
  3. Export mails avec pièce jointe vers BDD
    Par yoyo33fc dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 26/06/2014, 15h08
  4. [Mail] mail avec lien vers un fichier .pdf
    Par Herode dans le forum Langage
    Réponses: 1
    Dernier message: 27/03/2008, 05h52
  5. [Mail] Envoi e-mail avec lien vers serveur FTP
    Par younes371 dans le forum Langage
    Réponses: 2
    Dernier message: 20/11/2007, 15h01

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