Export feuilles excel séparées au format pdf
Résolu
                    
        
     
             
                    b.desmarets
    
        
    
                    Messages postés
            
                
     
             
            23
        
            
                                    Statut
            Membre
                    
                -
                                     
b.desmarets Messages postés 23 Statut Membre -
        b.desmarets Messages postés 23 Statut Membre -
        Bonjour à tous !
Je souhaiterais avoir une petite commande macro pour exporter des feuilles excel en pdf.
Deux contraintes néanmoins: sur toutes les feuilles, je souhaiterais que seules celles dont les onglets sont sélectionnés (ctrl clic sur chacune) soit exportés et que chaque onglet produise un pdf séparément.
Pour le moment, j'ai pondu cela:
Mais dans ce cas il m'exporte certes que les onglets sélectionnés et me produit un pdf par onglet, mais réunit tous les onglets dans chaque pdf...
Le top aussi serait que les pdf soient générés dans un dossier "PDF" dans le même répertoire que le fichier excel.
D'avance merci pour le coup de main, bien à vous.
Bapt.
            
            
                
            
                
    
    
    
        Je souhaiterais avoir une petite commande macro pour exporter des feuilles excel en pdf.
Deux contraintes néanmoins: sur toutes les feuilles, je souhaiterais que seules celles dont les onglets sont sélectionnés (ctrl clic sur chacune) soit exportés et que chaque onglet produise un pdf séparément.
Pour le moment, j'ai pondu cela:
Sub Test()
Dim Fe As Worksheet
For Each Fe In ActiveWindow.SelectedSheets
Fe.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\mesdocuments\" & Fe.Name & ".pdf"
Next Fe
End Sub
Mais dans ce cas il m'exporte certes que les onglets sélectionnés et me produit un pdf par onglet, mais réunit tous les onglets dans chaque pdf...
Le top aussi serait que les pdf soient générés dans un dossier "PDF" dans le même répertoire que le fichier excel.
D'avance merci pour le coup de main, bien à vous.
Bapt.
        A voir également:         
- Enregistrer feuille excel séparément
 - Audacity enregistrer son pc - Guide
 - Feuille de score belote excel - Forum Excel
 - Liste déroulante excel - Guide
 - Feuille de pointage excel - Télécharger - Tableur
 - Word et excel gratuit - Guide
 
1 réponse
                        
                    Bonjour,
comme ceci:
pour le même chemin que le classeur:
                
                
    
                comme ceci:
Option Explicit
Dim nom, chemin  As String
Dim sh As Worksheet
Private Sub CommandButton1_Click()
For Each sh In Workbooks("Save_pdf.xls").Windows(1).SelectedSheets 'adapter nom classeur
 nom = sh.Name
    Save_pdf
 Next
End Sub
Private Sub Save_pdf()
chemin = "C:\Users\LePivert\Documents\" 'chemin du dossier destination à adapter
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        chemin & "\" & nom & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
        MsgBox "Enregistrer" 'on peut supprimer
End Sub
 
pour le même chemin que le classeur:
chemin = ActiveWorkbook.Path & "\"
    
    
    
    
Et merci beaucoup pour ta réactivité.
Néanmoins je bloque sur la façon d'utiliser la macro. S'agissant d'une private sub, elle n’apparaît pas dans la liste des macro et se déclenche automatiquement c'est ça ? Mais à quelle condition svp ? N'est-il pas possible de générer l'action via un bouton ?
J'ai testé ce code et lancé depuis la fenêtre VBA dans l'onglet développeur (petit triangle vert), il m’apparaît l' Erreur d'exécution '1004': Erreur définie par l’application ou par l’objet. Je lis qu'il s'agit souvent d'un problème d'appel de cellule, pourtant il n'y a pas d'erreur de ce côté là si ?
D'avance merci, bien à toi.
Bapt.
https://www.cjoint.com/c/HEphgSW1aPQ
Si tu veux te servir du code, il faut le mettre dans un module comme ceci:
Option Explicit Dim nom, chemin As String Dim sh As Worksheet Sub Save_onglet() For Each sh In Workbooks("Test.xlsm").Windows(1).SelectedSheets 'adapter nom classeur nom = sh.Name Sheets(nom).Select Save_pdf Next End Sub Private Sub Save_pdf() chemin = ActiveWorkbook.Path & "\PDF\" 'chemin du dossier destination à adapter ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ chemin & "\" & nom & ".pdf", Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _ False MsgBox "Enregistrer" 'on peut supprimer End Subensuite pour le lancer tu lui attribues (Save_onglet) un raccourci clavier comme ceci:
http://www.info-3000.com/vbvba/raccourciclavier.php
@+ Le Pivert