XL 2016 création pdf excluant certaines feuilles vba

  • Initiateur de la discussion Initiateur de la discussion Prisme974
  • 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 !

P

Prisme974

Guest
Bonjour à tous,

Je souhaite sélectionner plusieurs feuilles Excel sauf 2 d'entre elles intitulées Feuil1 et Feuil2, puis créer un pdf comprenant toutes les feuilles sauf ces 2 citées.

J'ai écris ce code mais il ne fonctionne pas. Pourriez-vous me dire ce qui ne va pas ?

Merci par avance et bonne journée
icon_smile.gif



VB:
ChDir "C:\Users\x\Desktop"
    For Each f In ThisWorkbook.Sheets
        If f.Name <> "Feuil1" And f.Name <> "Feuil2" Then
            f.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            "C:\Users\x\Desktop\Fichier-V9.pdf", Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
            True
        End If
    Next
End Sub
 
Bonjour
Testez le code ci-dessous:
VB:
Sub test()
Dim Lt() As Variant
Root = "C:\Users\x\Desktop"
    L = -1
    For Each F In ThisWorkbook.Sheets
        If F.Name <> "Feuil1" And F.Name <> "Feuil2" Then
            ReDim Preserve Lt(L + 1)
            Lt(UBound(Lt)) = F.Name
            L = UBound(Lt)
        End If
    Next
    Worksheets(Lt).Select
    ActiveSheet.ExportAsFixedFormat _
        Type:=xlTypePDF, Filename:=Root & "\Fichier-V9.pdf", _
        OpenAfterPublish:=True
End Sub
 
Merci beaucoup pour votre réponse.

La ligne "Worksheets(Lt).Select" semble avoir un problème, elle est surlignée en jaune.
MVB m'indique une "erreur d'exécution '10004'. La méthode Select de la classe Sheets a échoué"
 
Correction:
VB:
Sub test()
Dim Lt As String, Root As String, F As Worksheet
Root = ThisWorkbook.Path
'Root = "C:\Users\x\Desktop"
    For Each F In ThisWorkbook.Worksheets
        If F.Name <> "Feuil1" And F.Name <> "Feuil2" Then
            Lt = IIf(Lt = "", "", Lt & "!") & F.Name
        End If
    Next
    If Lt <> "" Then
        Worksheets(Split(Lt, "!")).Select
        ActiveSheet.ExportAsFixedFormat _
            Type:=xlTypePDF, Filename:=Root & "\Fichier-V9.pdf", _
            OpenAfterPublish:=True
    Else
        MsgBox "Rien à Exporter"
    End If
End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
1 K
Réponses
3
Affichages
850
Réponses
6
Affichages
520
W
Retour