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 :

VBA-Enregistrer Feuilles au format PDF


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 7
    Par défaut
    Bonjour,

    je possède un tableau avec plusieurs onglets et j'aimerai faire un bouton pour pouvoir enregistrer,séparément, en pdf ces derniers et en fonction de leur nom.

    J'ai commencé par faire une liste des feuilles avec leurs noms correspondants dans la colonne suivante.

    Ensuite j'ai en "C4" fait une liste déroulante des feuilles et en D4 j'utiliserai la fonction "recherchev" pour associer la feuil au nom qui lui correspond.

    Nom : Capture.PNG
Affichages : 11421
Taille : 2,6 Ko

    Et ensuite j'ai fait une tentative de macro pour pouvoir enregistrer en fonction de ces deux cellules mais cela ne marche pas, voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Export_PDF()
        Dim fichier As String
        'adaptez le nom de la feuille
        With Worksheets([C4].Value)
                fichier = "Saint etienne rouvray_" & .Range([D4].Value) & ".pdf"
            'pensez a ecrire le chemin
            Chemin = "E:\Saint Etienne du rouvray " & "\" & fichier
            .ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
        End With
    End Sub
    je ne suis pas du tout familier avec VBA mais j'ai fait ce code à partir de recherches ^^

    Si vous pouvez m'éclairer j'en serai ravi

    J'ai oublié de préciser que je travaille sur microsoft Excel 2007 !

  2. #2
    Expert confirmé
    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
    Par défaut
    Salut, t'inspirer de ceci ou de cela en élaguant. Voire de cela encore.

  3. #3
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Bonjour
    Pour moi j'utilise ce code pour enregistrer mon fichier excel en PDF sous un dossier qui s'appelle rapport mensuel
    à adapter pour ton cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub EnrPDF()
    Dim Ar(2) As String
        Ar(0) = Feuil1.Name
        Ar(1) = Feuil2.Name
        Ar(2) = Feuil3.Name
        Application.ScreenUpdating = False
        Sheets(Ar).Select
     
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & "Rapport Mensuel  " _
            , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
            :=False, OpenAfterPublish:=False
        Application.ScreenUpdating = True
    End Sub
    BONNE CONTINUATION

  4. #4
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Bonjour,
    Je pense que tu t'emmêles les pattes avec les feuilles auxquelles tu fais référence.
    Que veux-tu faire avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With Worksheets([C4].Value)
        .... .Range([D4].Value)
    End With
    Là, tu regardes dans la feuille dont le nom est la valeur de la cellule C4 et tu veux y utiliser la cellule dont le nom est la valeur de la cellule D4. Est-ce bien cela? As-tu nommé des cellules? Est-ce que tu veux pas plutôt récupérer la valeur de la cellule D4? En plus de cela, il faudrait enlever le point devant, non? Tu veux récupérer la valeur de la cellule D4 de la feuille Active, pas de la feuille à exporter, non?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Export_PDF()
        Dim fichier As String
        'adaptez le nom de la feuille
        With Worksheets(Range("C4").Value)
                fichier = "Saint etienne rouvray_" & Range("D4").Value & ".pdf"
            'pensez a ecrire le chemin
            Chemin = "E:\Saint Etienne du rouvray " & "\" & fichier
            .ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
        End With
    End Sub

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 7
    Par défaut
    En fait ce que ma macro sélectionne la feuille dont l’identifiant est en C4 et qu’elle enregistre cette feuille
    avec le contenu de la cellule D4 pour avoir un nom de fichier comme ceci : « nomcommune_test » dans le cas présent et que cela soit enregistrer en pdf.
    Et pour le nom je sais pas ce qui est plus simple : utiliser la cellule D4 de la feuille active ou utiliser le nom de la feuille sélectionnée en C4

    Je vais essayer de réaliser une autre macro en fonction de vos réponses ^^ et je reviendrais vers vous quand cela sera fini (que la macro fonctionne ou pas )

Discussions similaires

  1. Ouvrir, concaténer et enregistrer des pdf
    Par giaco dans le forum C++Builder
    Réponses: 11
    Dernier message: 03/05/2007, 12h07
  2. [FPDF] problème de titre avec fpdf et enregistrement du pdf créé
    Par tiger63 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 17/04/2007, 20h04
  3. [ezPDF] Enregistrer mon .pdf sur le server
    Par lagag dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/10/2006, 10h41
  4. [SGBD] FPDF+enregistrer le pdf généré dans BDD MySQL
    Par Flushovsky dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 29/11/2005, 16h22

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