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

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

  • Planning-Individuels.xlsm
    107.8 KB · Affichages: 64
  • Planning-Individuels.xlsm
    107.8 KB · Affichages: 68
  • Planning-Individuels.xlsm
    107.8 KB · Affichages: 61
Dernière édition:
G

Guest

Guest
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+
 

jlm94

XLDnaute Junior
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
 
G

Guest

Guest
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+
 

jlm94

XLDnaute Junior
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
 

jlm94

XLDnaute Junior
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
 
G

Guest

Guest
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+
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 196
Messages
2 086 100
Membres
103 116
dernier inscrit
kutobi87