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 sélection feuille si cellule non vide puis exportation en pdf [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Responsable sécurité
    Inscrit en
    Mai 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2017
    Messages : 25
    Par défaut Macro sélection feuille si cellule non vide puis exportation en pdf
    Bonjour,

    J'arrive à exporter des feuilles sélectionnées en pdf. Cependant, lorsque certaines feuilles n'ont pas de nécessité à être exporter elles le sont tout de même (normal vu que je les sélectionne).

    Je souhaiterai donc que la sélection des feuilles à exporter en pdf se réalise en fonction du contenu de la cellule A1 de chaque feuille "Entête PV", "Pesées RI", "Pesées RI", "Pesées FI", "Filtres", "Absorption 1", "Absorption 2", "Rinçages" (si A1 est vide alors je ne sélectionne pas cette feuille).

    Voici le bout de code :

    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
    Sub CreerPDF()
        Dim sRep As String
        Dim sFilename As String
     
        Sheets(Array("Entête PV", "Pesées RI", "Pesées RI", "Pesées FI", "Filtres", "Absorption 1", "Absorption 2", "Rinçages")).Select
        sRep = ThisWorkbook.Path
        sFilename = ThisWorkbook.Name
        sFilename = Left(sFilename, InStr(1, sFilename, ".")) & "pdf"
     
        ActiveSheet.ExportAsFixedFormat _
                Type:=xlTypePDF, _
                Filename:=sRep & sFilename, _
                Quality:=xlQualityStandard, _
                IncludeDocProperties:=True, _
                IgnorePrintAreas:=False, _
                OpenAfterPublish:=True
    End Sub
    Pouvez-vous m'aider ou me mettre sur la voie ?

    bien à vous,

    Paolino

  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, voir en bas de ce post 1 Impression de certaines Feuilles d'un classeur via un tableau dans un seul Pdf résultant en l'adaptant à ton contexte.

  3. #3
    Membre averti
    Femme Profil pro
    Responsable sécurité
    Inscrit en
    Mai 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2017
    Messages : 25
    Par défaut
    merci kiki29 mais cela fait plus d'1h que je regarde la proposition sur ton lien et que je fais des essais. je ne vois vraiment pas comment l'adapter à ma problématique.

    tu peux ou quelqu'un d'autres peut essayer de m'aider ?

    merci d'avance,

    paolino

  4. #4
    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, comme tu peux le constater cela n'a rien de complexe

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Option Explicit
     
    Sub Tst()
    Dim sNomFichierPDF As String
    Dim i As Long, Cpt As Long
    Dim Ar() As String
    Dim FSO As Object, sNom As String
     
        Set FSO = CreateObject("Scripting.FileSystemObject")
        sNom = FSO.GetBaseName(ThisWorkbook.Name)
        Set FSO = Nothing
     
        sNomFichierPDF = ThisWorkbook.Path & "\" & sNom & ".pdf"
        Cpt = 0
        Erase Ar
        For i = 1 To ThisWorkbook.Sheets.Count
            If Sheets(i).Cells(1, 1) <> "" Then
                ReDim Preserve Ar(Cpt)
                Ar(Cpt) = Sheets(i).Name
                Cpt = Cpt + 1
            End If
        Next i
        If Cpt = 0 Then
            MsgBox "Aucune feuille de sélectionnée !"
            Exit Sub
        End If
     
        Application.ScreenUpdating = False
        Sheets(Ar).Select
     
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                                        Filename:=sNomFichierPDF, _
                                        Quality:=xlQualityStandard, _
                                        IncludeDocProperties:=True, _
                                        IgnorePrintAreas:=False, _
                                        OpenAfterPublish:=False
     
        Feuil1.Select
        Application.ScreenUpdating = True
    End Sub

  5. #5
    Membre averti
    Femme Profil pro
    Responsable sécurité
    Inscrit en
    Mai 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2017
    Messages : 25
    Par défaut
    merci kiki29 mais dans mon fichier j'ai 55 feuilles (nombre qui varie avec une autre macro qui les masque) et seul les feuilles nommées ainsi "Entête PV", "Pesées RI", "Pesées RI", "Pesées FI", "Filtres", "Absorption 1", "Absorption 2", "Rinçages" doivent être utilisées par la macro que tu as complété (qui ne fonctionne pas : Sheets(Ar).Select : la méthode sélecte de la classe sheet a échoué : mes feuilles ont toutes un nom différent c'est pour cela que cela ne fonctionne pas??).

    Tu peux modifier ta proposition en sélectionnant uniquement les feuilles : "Entête PV", "Pesées RI", "Pesées RI", "Pesées FI", "Filtres", "Absorption 1", "Absorption 2", "Rinçages" ??

    je t'en serai extrêmement remerciant.

    Merci vraiment beaucoup pour ton aide.

    paolino

  6. #6
    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
    Re, quand tu sauras ce que tu veux, n'étant pas partisan du tout cuit et de l'attentisme, Je verrai plus tard.

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

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