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 Word Discussion :

Envoi d'un fichier pdf par mail


Sujet :

VBA Word

  1. #1
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut Envoi d'un fichier pdf par mail
    Bonjour à tous

    Je cherche une macro qui me permettra d'envoyer un fichier PDF par mail.
    Les envois seront régulier car je recoit des clients pour leur ouvrir des comptes. Donc un message devra être envoyé à chaque client dès l'ouverture de son compte.
    A chaque fois que je cliquerez sur le racourci bouton, que le fichier word soit converti en pdf avant d'être envoyé.
    Voici les differentes informations que vous aurez besoin certainement:
    - j'utilise office 2007
    - j'utilise outlook
    - le nom de mon fichier est Bienvenu chez Benzoplus
    - le fichier se trouve sur mon bureau
    - l'objet de mon message = CLIENTS
    Je reste disponible au cas ou vous aurez besoin de nouvelles informations

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Quel est le problème de l'envoyer via le bouton Office ?

  3. #3
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    C'est vrai ce que vous dite.
    Vous expose la totalité du problème.
    En effet, j'ai concu un outil excel qui permet de prendre en charge tous les info sur nos clients (notons que ce sont des clients qui viennent pour ouvrir un compte dans notre structure).
    La direction a trouvé que mon outil (fichier excel avec macro) serait complet s'il nous permettrait d'envoyer des mails automatiquement à nos clients.
    Nous recevons bcp de clients donc il serait bien si par simple clic d'un bouton macro on arrivait à tous faire ; c'est qui me motive.
    Ca fait de cela 2 mois que je cherche à trouver des solutions sur mon problèmes mais jusqu'à present rien.
    Pour la résolution du problème, je suis passé par les publipostages,
    après cela, il fallait que j'arrive à automatiser l'envoi du mail aux clients.
    Lorsque je pose la toalité du problème, je recois de réponse des forumers.
    J'ai décidé de decomposer mon problème en sous problème espérant que je trouverez de réponse.
    Je sais pas si vous me comprenez bien sinon n'hésitez pas à me revenir pour de plus amples éclaircissement.

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Et tu as quoi pour l'instant et tu coinces où dans ton développement ?

  5. #5
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Pour le moment, j'ai ma source de données excel à partir de laquelle le publipostage devra être réalisé. J'arrive à faire le publipostage manuellement.
    Mais je dois arriver à automatiser le publipostage également.
    Le problème est que les différents utilisataires ne s'y connaissent pas trop en bureautique (excel, word etc). Voila pourquoi je cherche à leur faciliter les choses. Que sur la base de simple clic bouton (macro) ils arrivent à tout réaliser. Et cela ne peut être possible que sur la base d'une programmation.
    Sincèrtement, ce que j'ai c'est l'idée de ce que je veux mais en réalité je m'y connais pas trop en programmation.
    Une fois le publipostage réalisé, le fichier devra être converti en fichier pdf pour être ensuite envoyé par mail à l'adresse mail du client qui se trouve dans une des cellules de mon fichier excel.
    En resumé, je dois arriver à:
    - automatiser le publipostage sur la base de mes données sources,
    - le fichier du publipostage devra être converti en fichier PDF,
    - le fichier PDF devra être envoyé par mail à l'adresse du client.
    La macro à réaliser devra permettre de prendre en compte les 3 points ci-dessus cité.
    Donc à chaque fois qu'un agent (utilisateur du fichier) fini d'ouvrir un compte à un client et qu'il clic sur le bouton de la macro, le mail doit être envoyé au client.

  6. #6
    Membre expert

    Homme Profil pro
    Spécialiste progiciel
    Inscrit en
    Février 2010
    Messages
    1 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Spécialiste progiciel
    Secteur : Service public

    Informations forums :
    Inscription : Février 2010
    Messages : 1 747
    Points : 3 016
    Points
    3 016
    Par défaut
    Bonjour,

    Reprenons chaque point dans l'ordre.
    Pour la partie publipostage, tu peux regarder ce tutoriel d'Heureux-Oli.
    Publipostage en VBA

    Pour la partie conversion en pdf, tu peux t'inspirer de ce tutoriel
    conversion PDF

    et pour l'envoi de mail, tu peux piloter Outlook depuis Word mais on verra le moment venu.
    Déjà, cela te fais pas mal de lecture

  7. #7
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Merci à Heureux-oli et Carden752 pour les pistes proposées.
    Suis content d'avoir trouvé des bonnes volontés qui s'interessent à ma préoccupation.
    Je viens vers vous après avoir parcouru les liens que vous m'avez conseillés.
    Voici le 1er code pour réaliser le publipostage que j'ai pu faire en attendant que vous m'aidez à le perfectionner.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub DocAjoutSource()
    ActiveDocument.MailMerge.OpenDataSource Name:="C:\Users\BENZOPLUS\Desktop\publu zz+.xls"
    ActiveDocument.Fields.Add Range:=Selection.Range, Type:=wdFieldMergeField, Text:="""F3"""
    ActiveDocument.Fields.Add Range:=Selection.Range, Type:=wdFieldMergeField, Text:="""F5"""
    ActiveDocument.MailMerge.Execute
    End Sub
    Lorsque je demande d'exécuter la macro, une boîte de dialogue s'affiche et me demande de selectionner le tableau. La source donnée se trouve dans la feuil1 de mon fichier excel. N'est-il pas possible quelle soit directement sélectionnée (par defaut)?
    Le 2è soucis est la gestion des positions des élements de la fusion.
    Avec excel, il suffit de définir la cellule par sa référence et le résultat sera affiché à cet endroit.
    Avec word comment cela se pace?

    Pour la convertion du document en PDF, voici le code que j'ai utilisé (toujours avec les liens que vous m'avez donnés):
    Je sais pas ou se trouve l'erreur mais y'a débogage.
    Pouvez-vous voire ou ca coince pour moi?
    N.B: le fichier qu je veux que ca convertisse en pdf s'intitule :publipostage2 et se trouve sur le bureau.
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Sub testPrintPDF()
    Dim oldPrinter As String
    Dim stChemin As String
    Dim stNom As String
    ' Affichage de la fenêtre de PDF
    Shell "C:\Program Files\PDFCreator\PDFCreator.exe", vbNormalFocus
     
    Dim PDFCreator1 As New clsPDFCreator
    oldPrinter = ActivePrinter	
    'On va mettre en mémoire dans une 
    'variable le nom de l'imprimante par défaut
    ActivePrinter = "PDFCreator"
    'Mettre comme imprimante par défaut PDFCreator
    If Len(ActiveDocument.Path) = 0 Then
        stChemin = "c:\temp"
    Else
        stChemin = ActiveDocument.Path
    End If
    'Si le document n'a pas été sauvegardé, le PDF sera dans le répertoire c:\temp
    'et un nom par défaut documentPDF;pdf
    If Len(ActiveDocument.Name) = 0 Then
        stNom = "documentPDF.pdf"
    Else
        stNom = ActiveDocument.Name
    End If
    'les option PDFCreator
    With PDFCreator1
       .cOption("UseAutosave") = 1
       .cOption("UseAutosaveDirectory") = 1
       .cOption("AutosaveDirectory") = stChemin
       .cOption("AutosaveFilename") = stNom
       .cOption("AutosaveFormat") = 0                            ' 0 = PDF
       .cStart
       .cClearCache
    End With
    ActiveDocument.PrintOut Background:=True
    PDFCreator1.cClose
    ActivePrinter = oldPrinter
    ' Change l'imprimante par défaut
     
    End Sub
    Je m'y connais pas trop en vba mais votre soutien me motive et je compte y arriver car j'ai tenu promesse devant mes responsables.

  8. #8
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Salut cher forumer

    je compte sur votre diligeance pour donner une suite favoravle à ma requette.
    Je reste disponilbe au cas ou vous aurez besoin de plus amples informations pour solutionner mes difficultés.
    Meilleures salutations

  9. #9
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Où coinces-tu dans ton développement ?

    Sur ton dernier message, c'est simplement un copier coller d'un code fourni dans un tuto que tu nous donnes.

    Mais en rien tu nous dis où ça coince.

    Je sais pas ou se trouve l'erreur mais y'a débogage.
    Pouvez-vous voire ou ca coince pour moi?
    pas de message d'erreur ?
    Qu'est-ce qui coince ?

  10. #10
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Bonsoir Heureux-oli

    Merci pour le feedback.
    Je pense avoir bien dit que je m'y connais pas trop bien en langage vba.
    J'ai posé un problème dans l'intention que celui qui me comprend essai de traduire ce que je veux dans le langage vba. Si mon sujet n'est pas trop claire, je reste disponible pour apporter des éclaircissements.
    Mon problème est que je n'arrive pas à adapter vos code pour qu'ils fonctionne chez moi.
    Dans mon 1er code, je crois avoir fais ressortir mes difficultés.
    Dans le 2è code, je n'arrive pas à adapter les chemins d'accès de mes fichiers à ceux du code. Qu'est ce que je dois changer dans le 2è code pourque quand je le colle par ALT+F11 dans un fichier et que je lance l'exécution, que le résultat attendu se produise?
    Bonne compréhension

  11. #11
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Pour le premier problème, il suffit au lieu d'utiliser un document vierge, d'utiliser un modèle qui sera document principal de fusion, ce document garde en mémoire toutes les information sur le publipostage.

    Que tu sois débutant en VBA ne pose pas de problème, mais quand un code ne fonctionne pas, on reçoit en général un message sur ce qui n'a pas fonctionné.

    Le second code fonctionne quel que soit le chemin utilisé.

Discussions similaires

  1. [PHP 5.3] Envoi de fichier pdf par mail
    Par wd_newbie dans le forum Langage
    Réponses: 3
    Dernier message: 22/01/2014, 14h16
  2. Envoie d'un fichier texte par mail
    Par Svenska dans le forum Réseau
    Réponses: 2
    Dernier message: 25/06/2008, 22h14
  3. Envoi d'un fichier pdf par mail
    Par jpspci dans le forum Reports
    Réponses: 5
    Dernier message: 29/06/2007, 09h35
  4. envoie automatique d'un pdf par mail via redmon
    Par ipeteivince dans le forum Windows
    Réponses: 2
    Dernier message: 29/08/2006, 19h01
  5. 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