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 enregistrer un PDF dont le nom dépend du contenu de 2 cellules


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Intérimaire
    Inscrit en
    Mai 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Intérimaire

    Informations forums :
    Inscription : Mai 2017
    Messages : 91
    Points : 60
    Points
    60
    Par défaut Macro pour enregistrer un PDF dont le nom dépend du contenu de 2 cellules
    Bonjour,

    J'aimerais faire une macro pour pouvoir enregistrer ma feuille active en pdf et dont le nom de ce dernier serait fonction du contenu de 2 cellules,
    J'ai donc essayer en enregistrant une macro au moment ou je fais un enregistrement et qu'après j'adapterais le code mais au final je n'arrive pas à trouver les bonnes ligne de commande pour le faire :s

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub enreg()
    '
    ' enreg Macro
    '
     
     
        ChDir "Q:\GR22\BENSLIMAN Julien\BRANCHEMENT PERIGUEUX 2"
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            "Q:\GR22\BENSLIMAN Julien\BRANCHEMENT PERIGUEUX 2\Formulaire_Barentin-4.pdf" _
            , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
            :=False, OpenAfterPublish:=False
    End Sub
    Comment puis je me débrouiller pour faire ce que je veux à partir de l'enregistrement ?

    Bien cordialement

  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
    Le nom donné au paramètre Filename:= est une simple chaine de caractère.
    A ce titre, il peut être trituré comme n'importe quel chaine, en utilisant des & et en prenant des données venant de variable ou de cellules.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Filename:= "C:\MonRépertoire\Nom_" & VarStr1 & "-" & Cells(10,1) & ".PDF"
    Le plus propre étant de faire ce montage dans une variable de type String et d'utiliser cette variable comme paramètre de Filename:=
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre du Club
    Homme Profil pro
    Intérimaire
    Inscrit en
    Mai 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Intérimaire

    Informations forums :
    Inscription : Mai 2017
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    D'accord,
    par contre je ne fais habituellement pas de VBA du coup comment dois je faire pour définir la variable de type string,

    ou sinon comment bien utiliser les & dans la formule enregistrée pour utiliser mes valeurs de cellules ?

  4. #4
    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
    Avant de vouloir faire des looping, il faut apprendre le vol à l'horizontale.
    Commence par apprendre les bases : http://bidou.developpez.com/article/VBA/
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, de la lecture : Support de cours complet pour le VBA d'Excel

    Adjoindre une fonction de vérif du nom de fichier comme ici

    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
     
        If NomFichierValide(sFichier) Then
    		.....
        Else
            MsgBox "Nom de fichier invalide", vbCritical + vbOKOnly
        End If
     
    Private Function NomFichierValide(sChaine As String) As Boolean
    Dim i As Long
    Const CaracInterdits As String = """*/:<>?[\]|"
        NomFichierValide = True
        If Len(sChaine) = 0 Then
            NomFichierValide = False
            Exit Function
        End If
        For i = 1 To Len(CaracInterdits)
            If InStr(sChaine, Mid$(CaracInterdits, i, 1)) > 0 Then
                NomFichierValide = False
                Exit Function
            End If
        Next i
    End Function

Discussions similaires

  1. Réponses: 10
    Dernier message: 18/10/2016, 11h00
  2. [XL-2007] Créer une macro pour enregistrer en pdf
    Par PCL51 dans le forum Excel
    Réponses: 4
    Dernier message: 23/07/2016, 21h01
  3. Réponses: 1
    Dernier message: 20/05/2011, 18h19
  4. Réponses: 2
    Dernier message: 13/01/2011, 18h14
  5. [PPT-2007] Macro pour enregistrements mutilples en PDF
    Par Invité dans le forum VBA PowerPoint
    Réponses: 2
    Dernier message: 26/11/2009, 08h49

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