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 enregistrer en pdf : comment mettre un nom défini ?


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Janvier 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Macro enregistrer en pdf : comment mettre un nom défini ?
    Bonjour à tous,

    En cherchant des macros pour enregistrer des feuilles excel en pdf, j'ai trouver pas mal de solutions, qui marchaient plus ou moins bien.
    J'ai réussi à me créer une macro sympa avec des ptites choses sympa...

    Mais avec ma macro actuelle, qui marche parfaitement pour 95% du boulot à faire, j'ai un soucis sur l'enregistrement avec un nom définit dans la macro.

    Voici ma macro actuelle :

    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
    Sub Tst_2007()
    Dim Chemin As String, Fich As String, Rep As String, CheminComplet As String
     
    Chemin = "c:\Users\" & Environ("username") & "\Desktop" & [B7].Value
    Fich = CreateObject("Scripting.FileSystemObject").GetBaseName(ThisWorkbook.Name)
    CheminComplet = Chemin & "\" & Fich & ".pdf"
    Rep = Dir(Chemin & "\" & Fich & ".pdf")
     
    If Rep = "" Then
        réponse = MsgBox("Voulez-vous enregistrer et visualiser votre offre de financement en PDF ?", vbYesNo)
        If réponse = vbYes Then
            MsgBox "Le fichier s'est enregistrer sur votre bureau. N'oubliez pas de changer son appelation."
    Impression:
            ChDir Chemin
            ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Rep, _
                Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
                :=False, OpenAfterPublish:=True 'affiche le fichier PDF
        Else
            MsgBox "Sortie de la procédure"
            Exit Sub
        End If
    Else
        Réponse1 = MsgBox("Votre offre de financement a déjà été enregistrer sous ce nom. Souhaitez-vous le remplacer?", vbYesNo)
        If Réponse1 = vbYes Then
            MsgBox "Votre fichier a été enregistrer sur votre bureau. Votre précédent fichier a été remplacer."
            GoTo Impression
        Else
            MsgBox "Sortie de la procédure"
        End If
    End If
    End Sub
    Avec cette macro actuelle, le doc pdf s'enregistre sur n'importe quel bureau avec le même nom que mon fichier excel. Par exemple "Excel.standard".

    Et j'aimerais bien avoir un nom personnalisé en fonction de chaque client comme : "Excel.modifié_la date du jour_nom du client en cellule C22".



    Je vous remercie à l'avance pour les réponses et n'hésitez pas si vous avez des questions.

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fich = CreateObject("Scripting.FileSystemObject").GetBaseName(ThisWorkbook.Name)
    par :
    Où C22 contient le nom que tu souhaites donner à ton fichier

    Hervé.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Janvier 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour Hervé,

    Merci de ta réponse rapide.

    Mais cela ne change rien par rapport à mon point de départ. C'est le nom de mon fichier qui se met sur le doc pdf et pas la valeur de la cellule C22...

  4. #4
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Au boulot j'ai Excel 2003 et il ne peut m'enregistrer en pdf donc, je ne peux pas tester mais comme ta variable "Rep" est égale à "" puisque le fichier n'existe pas donc il prend le nom du classeur par défaut. il faut que tu passe en argument non pas la variable "Rep" mais la variable "CheminComplet" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=CheminComplet, _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=True 'affiche le fichier PDF
    Hervé.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Janvier 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Eh bien merci infiniment Theze pour cette réponse!

    ça marche parfaitement!

    Je n'avais pas saisi cette petite subtilité et je t'en remercie!

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

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. [XL-2007] Macro enregistrer en pdf sur clef usb
    Par Florian.b dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/04/2013, 22h11
  3. macro enregistrer en pdf ds excel 2007
    Par yoyo67000 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/11/2009, 17h44
  4. [Débutant] Comment mettre des noms aux fenetres?
    Par VanessaDu67 dans le forum MATLAB
    Réponses: 3
    Dernier message: 05/07/2007, 09h56
  5. Réponses: 9
    Dernier message: 21/11/2006, 11h16

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