Je travaille sur l'écriture d'un code VBA pour exporter certaines feuilles en Excel vers le même fichier PDF. J'ai plusieurs feuilles de graphique dans mon fichier Excel dont chacune se termine par "(nom) _Chart". Je souhaite exporter toutes les feuilles dont le nom se termine par un graphique en un seul fichier PDF. Voici le code que j'essaie d'écrire.Exportation de certaines feuilles d'un classeur Excel au format PDF
Sub FindWS()
'look if it at least contains part of the name
Dim s As Worksheet
Dim strPath As String
strPath = ActiveWorkbook.Path & "\"
For Each s In ThisWorkbook.Sheets
If InStr(1, s.Name, Chart) Then
s.Activate
ActiveSheet.ExportAsFixedFormat xlTypePDF, strPath & s.Name & ".pdf"
Exit Sub
End If
Next s
End Sub
Ce code ne se limite pas à l'exportation vers les feuilles de graphique mais l'exportation de tout votre classeur. Quelqu'un peut-il m'aider avec figurint sur ce qui manque dans mon code.
Merci!
CODE MODIFIÉ:
Sub FindWS()
'look if it at least contains part of the name
Dim s As Worksheet
Dim strPath As String
strPath = ActiveWorkbook.Path & "\"
For Each s In ThisWorkbook.Worksheets
If InStr(1, s.Name, "Chart") = 0 Then
' Hide the sheet so it is not exported as PDF
s.Visible = False
End If
Next s
With ActiveWorkbook
.ExportAsFixedFormat xlTypePDF, strPath & "TEST.pdf"
End With
End Sub
Qu'est-ce qui se passe si vous devez d'abord cacher vos feuilles indésirables dans la boucle au-dessus, puis juste exporter une fois au format PDF? –
@ElectricLlama Merci pour votre réponse. J'ai plus de 300 feuilles Excel et cacher toutes les feuilles indésirables dans ceux-ci serait trop long. Alors, est-ce que je peux modifier le code? – datacentric
Vous masquez les feuilles dans votre code, exportez-les, puis affichez-les. Je vais poster un code pour vous d'essayer –