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 :

Macro qui permer de générer tous les fichiers d'un dossier et les imprimer


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 38
    Points : 14
    Points
    14
    Par défaut Macro qui permer de générer tous les fichiers d'un dossier et les imprimer
    Bonsoir à tous.

    Je viens de créer une macro qui permet de générer un document.doc en pdf et l'imprime avec PDFCreator comme imprimante par défaut,
    Je n'arrive pas coder le reste de la macro pour qu'elle puisse générer les fichiers d'un dossier dont on donne son chemin et qui imprime tous les fichiers qui se trouvent dans ce dossier.
    Pouvez vous m'aidez s'il vous plait à faire le reste.
    Voila le code de ma macro.
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    Sub macro_imprimer_Pdf
     
    Dim F
    Dim oldPrinter As String
    Dim stChemin As String
    Dim stNom As String
    Dim PDFCreator1 As New clsPDFCreator
     
    oldPrinter = ActivePrinter
     
     
    ActivePrinter = "PDFCreator"
    'Mettre comme imprimante par défaut PDFCreator
     
    ' Affichage de la fenêtre de PDF
    Shell "C:\Program Files\PDFCreator\PDFCreator.exe", vbNormalFocus
     
    With Application.searchFile
     
    .NewSearch
    .LookIn = "D:\XXXXXXXX"
    .Execute
    'Next
    For Each F In .FoundFiles
    If Len(ActiveDocument.Path) = 0 Then
        stChemin = "D:\Users\XXXXX"
        Else: stChemin = ActiveDocument.Path
    End If
    'Si le document n'a pas été sauvegardé, le PDF sera dans le répertoire D:\XXXX'
     
    If Len(ActiveDocument.Name) = 0 Then
        stNom = "DocumentPDF.pdf"
    Else
        stNom = ActiveDocument.Name
    End If
     
    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
    Next F
     
    ActivePrinter = oldPrinter
     
     
    End With
    '
    End Sub
    j'ai essayé de faire une recherche mais la fonction application.FileSearch ca marche pas dans Word 2010

  2. #2
    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,

    Il te faut utiliser la librairie FilesystemObject qui permet de gérer les fichiers facilement.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    Merci beaucoup pour ta proposition je l'ai essayé mais ca marche pas pouvez-vous détaillez encore plus ??

  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,

    Currieux, tu mentionnes que tu as crée un code, j'y reconnais quelques unes de mes lignes.

    Qu'est-ce qui ne marche pas ?

    Peux-tu nous détailler ce qui ne marche pas ?

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    bonjour Heureux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With Application.searchFile
     
    .NewSearch
    .LookIn = "D:\XXXXXXXX"
    .Execute
    Cette partie du code ne marche pas car searchFile s'applique juste pour Word 2007 hors moi je travaille avec Word 2010

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    moi ce que j'essaye de faire par cette macro c'est d'acceder à un dossier qui contient des fichiers .doc ou .docx et de les convertir en format .pdf et les imprimer tous

  7. #7
    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,

    Il faut faire une boucle sur les fichiers et pour cette boucle, il faut utiliser le FileSystemObject.

  8. #8
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    Bonjour Heureux je sais pas comment utiliser FileSystem peut-tu m aidé ???

  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,

    Tu trouveras ton bonheur là : http://warin.developpez.com/access/fichiers/

  10. #10
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    Merci

  11. #11
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 38
    Points : 14
    Points
    14
    Par défaut Récuperer et imprimer les fichiers .doc d'un dossier
    Bonjour a tous

    Je souhaite créer une macro qui permet d'imprimer tous les fichiers d'un dossier.
    Ma macro permet juste d'imprimer le fichier ouvert hors moi je veux qu'elle accède a un dossier et cherche tous les fichiers .doc ou docx et les imprime tous en même temps

    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
    42
    43
    Sub Imprimer_PDF()
     
    Dim oldPrinter As String
    Dim stChemin As String
    Dim stNom As String
    Dim PDFCreator1 As New clsPDFCreator
     
     
    Shell "C:\XXXX\PDFCreator\PDFCreator.exe", vbNormalFocus
     
    oldPrinter = ActivePrinter
     
    ActivePrinter = "PDFCreator"
     
    If Len(ActiveDocument.Path) = 0 Then
        stChemin = "D:\XX"
        Else: stChemin = ActiveDocument.Path
    End If
     
     
    If Len(ActiveDocument.Name) <> 0 Then
    stNom = "fichierPDF" 
    else 
    stNom = ActiveDocument.Name
     
    End If
     
    With PDFCreator1
       .cOption("UseAutosave") = 1
       .cOption("UseAutosaveDirectory") = 1
       .cOption("AutosaveDirectory") = stChemin
       .cOption("AutosaveFilename") = stNom
       .cOption("AutosaveFormat") = 0             
       .cStart
       .cClearCache
     
    End With
    ActiveDocument.PrintOut Background:=True
     
    ActivePrinter = oldPrinter
     
     
    End Sub
    Pouvez vous s'il vous plait m'aider

  12. #12
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test_pdf()
    Dim chemin As String
    Dim Fichier As String
    chemin = "D:\XXXX"
    Fichier = Dir(chemin & "*.docx")
    Do While Len(Fichier) > 0
    Debug.Print chemin & Fichier
    Application.Run ("macro_imprimer_Pdf")
    Fichier = Dir()
    Loop
     
     End Sub
    J'ai essayé de créer une autre fonction qui fait appel a la macro qui génére et imprime un seul fichier pdf mais ca marche pas
    Enfin elle permet d'imprimer le même fichier plusieurs fois. Or moi je veux qu'elle imprime tous les fichiers du repertoire chemin="D:\XXXX" ou si c'est possible de m'aider à faire une boucle dans la meme macro (macro_imprimer_Pdf) Merci par avance

  13. #13
    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,

    Jette un œil là : http://heureuxoli.developpez.com/off...emplacer/#L3-B

    On y trouve une boucle sur les fichiers.

  14. #14
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    Bonjour tout le monde j'arrive pas toujours a réglé mon problème je pense que le code de la macro PDF qui permet d'imprimer et générer juste le fichier ouvert et donc meme si j'ai fait des boucles ca marche pas la boucle elle me permet d'imprimer le meme fichier ouvert plusieurs fois j'ai essayé la fonction dir() pour passer au fichier suivant elle aussi ca marche pas est ce que vous pouvez executer mon code et m'aider ?

  15. #15
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    ActiveDocument c'est elle qui empeche ma boucle d'imprimer les autres fichiers du dossier et c'es elle qui permet d'empecher la fonction dir() de passer au fichier suivant.
    Slvp comment je peux modifier le code de générer et imprimer les fichier en format pdf d'un repertoire ?

  16. #16
    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,

    Ça donne quoi le lien que je t'ai donné ?

  17. #17
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    J'ai testé la boucle qui permet de chercher dans le répertoire mais le problème c'est que quand je fais appel a la macro qui génère le pdf la boucle ne s’arrête pas et elle exécute juste le fichier actif. j'ai déduit que j'ai un problème dans la macro qui génère le fichier PDF et non pas dans la boucle .

Discussions similaires

  1. Réponses: 6
    Dernier message: 12/03/2014, 19h46
  2. Réponses: 2
    Dernier message: 29/12/2013, 13h29
  3. Réponses: 5
    Dernier message: 02/05/2009, 19h10
  4. Réponses: 3
    Dernier message: 07/02/2008, 13h34
  5. Réponses: 7
    Dernier message: 08/01/2007, 19h18

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