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 : 2591
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.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

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