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 :

Envoyer document par email via Excel.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Par défaut Envoyer document par email via Excel.
    Bonjour à tous,

    J'ai créer un document excel que je dois envoyer à plusieurs personnes qui doivent le compléter et le renvoyer sur mon email grâce à un bouton d'envoi que j'ai créé dans ce même document.

    J'ai réussi à faire une macro qui me permet de l'envoyer à n'importe qui, mais cette macro ne fonctionne que depuis mon ordinateur car j'ai sélectionner le chemin réseau de mon disque dur.

    Ma question est donc comment faire pour que ma macro puisse envoyer ce document depuis n'importe quel ordinateur?

    Ci-dessous ma macro en question:

    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
    Sub sendmail()
    
    Dim dlapp As Outlook.Application
    Dim olmail As Outlook.MailItem
    
    Set olApp = New Outlook.Application
    Set olmail = olApp.CreateItem(olMailItem)
    
    
    With olmail
        .To = "XXX@XXX.com"
        .CC = "XXX@XXXX.com"
        .Subject = "Livraisons"
        .Body = ""
        .Attachments.Add "C:\Users\XXX\Documents\XXXX\XXXXX.xlsm"
        .Display
        ''olmail.Send
    End With
    
    Set olmail = Nothing
    Set olApp = Nothing
    
    End Sub
    Merci pour votre aide!

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Bonjour,

    Il te suffit d'utiliser thisworkbook.path pour récuperer le chemin du fichier actif.
    De plus je te conseille le Late Binding http://mhubiche.developpez.com/vba/f...endre/binding/

    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
    Sub mail()
     
    Dim ObjOutlook As Object
    Set ObjOutlook = CreateObject("outlook.application")
        Set oBjMail = ObjOutlook.CreateItem(olMailItem)
        With oBjMail
            .To = "aa@aa.com"
            '.CC =
           .Subject = "l'objet du mail"
           .Body = "le corps du mail"
           .Attachments.Add ThisWorkbook.Path & "\" & ThisWorkbook.Name
           .Display
            'SendKeys "^{ENTER}" 'pour éviter la confirmation par outlook
     
        End With
     
    End Sub

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2
    Par défaut
    Bonjour,

    Parles-tu d'un fichier base en ligne ? ou sur un réseau partagé ?

    Tu peux toujours définir le titre du fichier avant:

    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
     
    Title=ActiveWorkbook.Sheets(1).Range("A1").Value
     
    'Create email
    Set MyOutlookApp = CreateObject("Outlook.Application")
    Set MyItems = MyOutlookApp.CreationItem(olMailItem)
    'My Subject=ActiveWorkbook.Sheets(1).Range("A2").Value
     
    With MyItems
         .To=
         .Subject= MySubject
         . Body="..."
         . Attachments.Add (Title)
         .Display
    End With

  4. #4
    Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Par défaut
    Citation Envoyé par StephaneMads Voir le message
    Bonjour,

    Parles-tu d'un fichier base en ligne ? ou sur un réseau partagé ?

    Tu peux toujours définir le titre du fichier avant:

    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
     
    Title=ActiveWorkbook.Sheets(1).Range("A1").Value
     
    'Create email
    Set MyOutlookApp = CreateObject("Outlook.Application")
    Set MyItems = MyOutlookApp.CreationItem(olMailItem)
    'My Subject=ActiveWorkbook.Sheets(1).Range("A2").Value
     
    With MyItems
         .To=
         .Subject= MySubject
         . Body="..."
         . Attachments.Add (Title)
         .Display
    End With

    Bonjour,

    Il s'agit d'un fichier excel vierge sur mon disque dur que des personnes indépendantes les unes des autres recevront et devront compléter et le renvoyer en utilisant le bouton d'envoi.
    Par contre, y a t-il un code permettant d'envoyer le mail via la messagerie par défaut? Si d'autres personnes ont par exemple Lotus ou Gmail.

    Merci pour votre aide!

  5. #5
    Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Par défaut
    Bonjour Halaster08,

    Merci pour ta réponse, lorsque je rentre la modification j'ai maintenant un message d'erreur type : "Erreur de compilation: Le membre existe déjà...."

    J'ai sans arrêt ce message lorsque je veux modifier ma macro!Nom : Erreur macro.JPG
Affichages : 293
Taille : 48,9 Ko

  6. #6
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Je n'ai jamais eu cette erreur.

    As tu essayé de changé le nom de la sub? On dirait qu'il te signale que la sub sendmail existe déjà.

  7. #7
    Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Par défaut
    C'est réglé, j'avais en fait deux macros, une nommée "Sendmail" et une autre qui portait le nom de mon fichier.

    Aprés avoir supprimé celle portant le nom de mon fichier, j'ai pu modifier la macro et ça fonctionne!

    Par contre la commande "envoyer" permet-elle d'envoyer le fichier sans ouvrir outlook? car actuellement elle l'ouvre toujours Outlook.

    Voici ce que j'ai rentré:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    With olmail
        .To = "xxx@xxx.com"
        .CC = "xxx@xxx.com"
        .Subject = "Livraisons"
        .Body = ""
        .Attachments.Add ThisWorkbook.Path & "\" & ThisWorkbook.Name
        .Display
        'SendKeys "^{ENTER}"
        ''olmail.Send
    End With

  8. #8
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Citation Envoyé par Farid8769 Voir le message
    Par contre la commande "envoyer" permet-elle d'envoyer le fichier sans ouvrir outlook? car actuellement elle l'ouvre toujours Outlook.
    Peux tu prendre un taxi sans monter dans la voiture?
    Non.

    Par contre, y a t-il un code permettant d'envoyer le mail via la messagerie par défaut? Si d'autres personnes ont par exemple Lotus ou Gmail.
    Je suis presque sur que oui, mais je ne l'ai jamais fait donc je ne peux pas t'aider.

Discussions similaires

  1. Envoi automatique d'une série d'emails via excel 2007 et Thunderbird
    Par Mr-Meuble dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/04/2010, 11h06
  2. Envoyer document par piece jointe dans sous dossier
    Par webmantoine dans le forum Configuration
    Réponses: 0
    Dernier message: 12/10/2009, 11h45
  3. Envoie d'email via Excel Session verrouillée
    Par mennix dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/01/2008, 18h57
  4. Expéditeur désigné pour un email via excel
    Par liop49 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/11/2007, 11h25
  5. Limites Création table tempo Access par ADOX via Excel VBA.
    Par botakelymg dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/11/2007, 09h45

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