(RESOLU) - Inclure une condition dans une macro d'enregistrement de feuilles en PDF

  • Initiateur de la discussion Initiateur de la discussion jlm94
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jlm94

XLDnaute Junior
Bonjour,
J'ai une macro qui me permets d'enregistrer la centaine d'onglets de mon fichier planning en PDF (chaque fin de mois)
avec la possibilité de choisir le chemin d'enregistrement, car il change chaque mois.

Sur la centaine de feuilles de planning individuels, un certain nombre chaque mois ne sont pas remplis.
j'aurais besoin de n'enregistrer que ceux qui contiennent de données.
j'ai pensé comme condition à l'enregistrement: si la cellule H47 TOTAL des heures contient "00:00"
ne pas enregistrer et passer à la suivante.

Je ne maîtrise pas trop les codes macro alors je viens vous demander si cela est faisable à partir de ce code.
Code:
Sub PDF()
       On Error Resume Next
    Dim objShell As Object, objFolder As Object, oFolderItem As Object
    Dim Chemin As String, w As Worksheet
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)
    Set oFolderItem = objFolder.Items.Item
    Chemin = oFolderItem.Path
    For Each w In Worksheets
        If w.Name <> "Accueil" Then
            Chemin = oFolderItem.Path & "\" & w.Name & "- Planning Individuel - " & Format(w.[c3], "mmmm yyyy") & ".xlsx"
        End If
    Next w
End Sub

je joins le classeur allégé pour l'exemple.

Merci par avance.
 

Pièces jointes

Dernière édition:
Re : Inclure une condition dans une macro d'enregistrement de feuilles en PDF

Bonjour,

A tester:
Code:
Sub PDF()
       On Error Resume Next
    Dim objShell As Object, objFolder As Object, oFolderItem As Object
    Dim Chemin As String, w As Worksheet
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)
    Set oFolderItem = objFolder.Items.Item
    Chemin = oFolderItem.Path
    For Each w In Worksheets
        If w.Name <> "Accueil" And w.Range("H47") <> 0 Then
            Chemin = oFolderItem.Path & "\" & w.Name & "- Planning Individuel - " & Format(w.[c3], "mmmm yyyy") & ".xlsx"
        End If
    Next w
End Sub

A+
 
Re : Inclure une condition dans une macro d'enregistrement de feuilles en PDF

Merci de ta réponse,
j'ai inséré ton code a la place du mien et enregistré.
j'ai fais un essai avec 4 onglets dont deux ont la cellule H47 avec une valeur 00:00 et les deux autres ont des valeurs 06:00 et 07:00
Mais lorsque je clique sur mon objet associé a la macro, la fenetre de choix de destination s'ouvre bien, je sélectionne un dossier
mais rien ne se passe lorsque je valide. Et le dossier de destination reste vide.

jlm94
 
Re : Inclure une condition dans une macro d'enregistrement de feuilles en PDF

Bonjour,

Normal, je n'ai fait que répondre à la demande qui était d'inclure une condition.
Ta macro du fichier exemple ne comportait aucune ligne d'enregistrement de fichier PDF, je pensais que tu l'avais voulu puisque tu disais:
J'ai une macro qui me permets d'enregistrer la centaine d'onglets de mon fichier planning en PDF
Chose impossible avec la macro exemple donnée!

De plus je suppose que tu ne veux pas non plus imprimer en PDF la feuille "Actions"!!!!

Une question bien posée, avec les éléments nécessaires à la résolution du problème est une aide importante et évite de perdre du temps.

A+
 
Re : Inclure une condition dans une macro d'enregistrement de feuilles en PDF

Désolé, il est vrai que la syntaxe de ma question n'était peut-être pas suffisamment explicite,
mais il n'est pas simple lorsque l'on ne maîtrise pas le sujet de bien détailler ses besoins.
je viens de tester ton fichier et cela fonctionne parfaitement,
et effectivement tu as raison pour l'onglet "Action"
Je te remercie vraiment pour ton aide.

Bonne soirée
 
Re : (RESOLU) - Inclure une condition dans une macro d'enregistrement de feuilles en

Juste une question,
j'ai besoin maintenant de reprendre ton code pour le placer dans mon fichier planning individuel
(celui que j'avais joins n'était qu'un exemple du mien sans données perso)
mais je vois une nouvelle macro, nommé macro-1
Dois-je également la recopier et si oui, ou dois-je la placer ?

merci par avance
 
Re : (RESOLU) - Inclure une condition dans une macro d'enregistrement de feuilles en

Re,

Non non c'est une macro faite par l'enregistreur de macro que j'ai pris pour modèle pour avoir les bons paramètres d'enregistrement. Tu peux la supprimer. (Macro1)

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour