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 un fichier Excel par mail avec Access


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Septembre 2014
    Messages : 59
    Points : 33
    Points
    33
    Par défaut Envoyer un fichier Excel par mail avec Access
    Bonjour

    Dans un application Access, j'ai un bouton, qui produit un fichier Excel et qui l'ouvre ensuite.
    Par la suite, j'aimerais cliquer sur un autre bouton qui enverrait par mail le fichier Excel qui est ouvert.

    J'ai essayé le code suivant

    Comment lui faire dire d'envoyer le fichier Excel qui est actuellement ouvert?

    Merci,

    Catherine

    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
     
     
    Private Sub BDCEnvoiExcel_Click()
      Dim MonOutlook As Object
      Dim MonMessage As Object
      Set MonOutlook = CreateObject("Outlook.Application")
      Set MonMessage = MonOutlook.createitem(0)
      MonMessage.to = "test@hotmail.com"
    '---------------------------------
      MonMessage.Attachments.Add MonExcel.ActiveWorkbook
    '-------------------------------
      MonMessage.Subject = "Frais de facturation"
      Corps = "Bonjour,"
      Corps = Corps & Chr(13) & Chr(10)
      Corps = Corps & "Vous trouverez ci-joint le fichier contenant les frais de facturation."
      MonMessage.body = Corps
      MonMessage.send
      Set MonOutlook = Nothing
    End Sub

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    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 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Le classeur EXcel doit être enregistré avant envoi. Utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim XL As Object, Classeur As Object
    Set XL = GetObject(, "Excel.Application")
    Set Classeur = XL.activeworkbook
    MonMessage.Attachments.Add Classeur.FullName
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Septembre 2014
    Messages : 59
    Points : 33
    Points
    33
    Par défaut
    Bonjour

    J'ai mis le code que tu m'as dis mais il ne fait rien quand je pèse sur le bouton "Envoyer mail", et le fichier excel est ouvert ?

    Quel est le problème ?

    Merci.

    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
    Private Sub BDCEnvoiPDF_Click()
      Dim MonOutlook As Object
      Dim MonMessage As Object
      Dim XL As Object, Classeur As Object
     
      Set MonOutlook = CreateObject("Outlook.Application")
      Set MonMessage = MonOutlook.createitem(0)
      Set XL = GetObject(, "Excel.Application")
      Set Classeur = XL.ActiveWorkbook
     
      MonMessage.to = "test@hotmail.com"
      MonMessage.cc = "test@hotmail.com"
      MonMessage.Attachments.Add Classeur.FullName
      MonMessage.Subject = "bla bla bla"
      Corps = Corps & "bla bla bla."
      MonMessage.body = Corps
      MonMessage.send
      Set MonOutlook = Nothing
      MsgBox "Courriel envoyé"
    End Sub

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    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 203
    Points : 14 354
    Points
    14 354
    Par défaut
    J'ai mis le code que tu m'as dis mais il ne fait rien quand je pèse sur le bouton "Envoyer mail"
    Est-ce que le message est envoyé sans pièce jointe ? Est-ce que le classeur a été enregistré au moins une fois ?
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Septembre 2014
    Messages : 59
    Points : 33
    Points
    33
    Par défaut
    Oui le classeur a été enregistré et il est toujours ouvert

    Le message n'est pas du tout envoyé, il plante à cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonMessage.Attachments.Add Classeur.FullName

  6. #6
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    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 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Je viens d'exécuter la procédure.Pièce jointe 167138 Avec Office 2013, elle fonctionne. En mettant :
    au lieu de :
    J'obtiens :
    Nom : Capture.JPG
Affichages : 447
Taille : 23,5 Ko
    Problème de version ?
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Septembre 2014
    Messages : 59
    Points : 33
    Points
    33
    Par défaut
    Moi, il bogue toujours à cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonMessage.Attachments.Add ActiveWorkbook.FullName
    Je ne peux pas voir ta pièce jointe ? Peux-tu me l'envoyer ?

    Merci

  8. #8
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    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 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Pas celle-ci, mais une autre, oui, mais qu'est-ce que tu veux voir ? Qu'est-ce que représente le string "Classeur.FullName ?
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  9. #9
    Nouveau membre du Club
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Septembre 2014
    Messages : 59
    Points : 33
    Points
    33
    Par défaut
    Je veux qu'il ouvre le fichier qui est actuellement ouvert

    Il y a une application access que ça fonctionne et quand j'essaie la même procédure avec une autre application ça ne fonctionne pas ça bogue à cette ligne

    Les deux applications sont faites sur le même principe, je ne comprends pas

  10. #10
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    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 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Quel est exactement le message d'erreur ?
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  11. #11
    Nouveau membre du Club
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Septembre 2014
    Messages : 59
    Points : 33
    Points
    33
    Par défaut
    Nom : 1.jpg
Affichages : 321
Taille : 39,0 KoNom : 2.jpg
Affichages : 302
Taille : 90,2 Ko

    voici

  12. #12
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    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 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Cf. message #2; tu ne peux pas faire référence à "ActiveWorkbook", puisque tu es dans Access. Ajoute les lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim XL As Object, Classeur As Object
    Set XL = GetObject(, "Excel.Application")
    Set Classeur = XL.activeworkbook
    MonMessage.Attachments.Add Classeur.FullName
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  13. #13
    Nouveau membre du Club
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Septembre 2014
    Messages : 59
    Points : 33
    Points
    33
    Par défaut
    MERCI !

    Et si c'est un fichier PDF au lieu d'Excel, est qu'on met PDF?

  14. #14
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    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 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Tu veux dire le fichier PDF ouvert, sans en connaître le nom ? Là, je ne sais pas.

    Pose la question sur le forum et envoie en même temps un message privé à kiki29, qui en connaît un bout sur les PDF.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

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

Discussions similaires

  1. Envoyer un fichier txt par mail avec agent SQL
    Par vponcet0774 dans le forum Développement
    Réponses: 4
    Dernier message: 06/03/2012, 18h17
  2. Réponses: 2
    Dernier message: 06/01/2011, 16h35
  3. Réponses: 5
    Dernier message: 11/08/2009, 14h59
  4. Envoie d'un fichier excel par mail via un bouton d'action
    Par ghostal dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/07/2006, 08h22

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