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 :

Macro pour imprimer en pdf avec nom de fichiers variables


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Macro pour imprimer en pdf avec nom de fichiers variables
    Bonjour
    A partir d'un tableau avec plusieurs feuilles de données, j'ai conçu une macro qui, à partir d'une valeur de filtre saisie ("Nom_Entite"), génère 9 plages de données extraites.
    Ces plages sont listées dans une plage "data_extraits_impression_A"
    La macro fabrique un dossier sur le bureau, en le nommant avec les éléments variables en cours.
    Mon problème : en fin de macro, dans la boucle ci-dessous, je n'arrive pas
    - à créer automatiquement les fichiers lisibles en pdf ;
    - et à les enregistrer dans le dossier créé à cet effet : ils arrivent dans le dossier 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
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    'Pointer le bureau
         Const Cible = &H10
    '
         Dim objShell As Object
         Dim objFolder As Object, objFolderItem As Object
         Set objShell = CreateObject("Shell.Application")
         Set objFolder = objShell.Namespace(Cible)
         Set objFolderItem = objFolder.Self
    '
    'création d'un dossier nommé Extrait_Entité blabla
         MkDir objFolderItem.Path & "\Extraits_" & Nom_Entite & "_" & Year(Date) & "_" & Month(Date) & "_" & Day(Date)
         Application.DefaultFilePath = objFolderItem.Path & "\Extraits_" & Nom_Entite & "_" & Year(Date) & "_" & Month(Date) & "_" & Day(Date)
    '
    ' faire une boucle pour imprimer toutes les plages à imprimer dans le dossier créé
      Dim Plage_a_imprimer As Range
      Dim NomFich As String
      For Each Plage_a_imprimer In Range("data_extraits_impression_A")
               Application.ActivePrinter = "Adobe PDF sur Ne02:"
               NomFich = Nom_Entite & "_" & Plage_a_imprimer & ".pdf"
               Application.Goto Reference:=Plage_a_imprimer.Value
    ' la ligne qui pose problème : les fichiers ne s'ouvrent pas en pdf et ne sont pas dans le dossier
    '          Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NomFich
    '           Selection.PrintOut Copies:=1, ActivePrinter:="Adobe PDF sur Ne02:", PrintToFile:=True, Collate:=True, PrToFilename:=NomFich
    ' la même ligne dépouillée amène à la saisie manuelle des noms de fichiers.pdf à loger dans le dossier prévu et parfaitement lisibles
    ' le dossier prévu ci-dessus n'est pas ouvert dans la fenêtre d'enregistrement du fichier imprimé en pdf
               Selection.PrintOut Copies:=1, Collate:=True 
      Next Plage_a_imprimer
    Le paramétrage de l'impression :
    Nom : ParamImprPDF.JPG
Affichages : 2651
Taille : 47,8 Ko

    Merci d'avance

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Change le dossier par défaut avec ChDir.

Discussions similaires

  1. [XL-2007] Macro enregistrement fichier excel en pdf avec nom variable
    Par catetesse dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 23/01/2018, 14h03
  2. Réponses: 16
    Dernier message: 22/01/2017, 12h23
  3. Réponses: 16
    Dernier message: 22/12/2015, 08h12
  4. [Débutant] boucle avec nom de fichier variable
    Par membreComplexe12 dans le forum MATLAB
    Réponses: 2
    Dernier message: 09/05/2011, 18h53

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