Exporter plusieurs onglet excel dans un nouveau fichier
Résolu
Villette54
Messages postés
300
Date d'inscription
Statut
Membre
Dernière intervention
-
Villette54 Messages postés 300 Date d'inscription Statut Membre Dernière intervention -
Villette54 Messages postés 300 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis débutant en VBA, et j'utilise actuellement une macro qui me permet d'exporter 1 onglet de mon fichier Excel en PDF (afin de me servir de ce pdf comme pièce jointe à un mail)
Cependant je souhaiterais modifier cela pour exporter non plus un seul mais 2 onglets (d'un fichier qui en comporte une dizaine) en format xlsx et non plus PDF.
Ci-joint un extrait de mon code actuel
Merci d'avance pour votre aide
Je suis débutant en VBA, et j'utilise actuellement une macro qui me permet d'exporter 1 onglet de mon fichier Excel en PDF (afin de me servir de ce pdf comme pièce jointe à un mail)
Cependant je souhaiterais modifier cela pour exporter non plus un seul mais 2 onglets (d'un fichier qui en comporte une dizaine) en format xlsx et non plus PDF.
Ci-joint un extrait de mon code actuel
Dim pj as String pj = ActiveWorkbook.Path & "\" & Sheets("Infos").[L15].Value & ".pdf" Sheets("Facture").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ pj, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Merci d'avance pour votre aide
A voir également:
- Exporter plusieurs onglet excel dans un nouveau fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
1 réponse
bonjour,
c'est simple tu copies, tu colles et tu modifies ce dont tu as besoin :
Dim pj as String
pj = ActiveWorkbook.Path & "\" & Sheets("Infos").[L15].Value & ".pdf"
Sheets("Facture").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
pj, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
pj = ActiveWorkbook.Path & "\" & Sheets("infos").[L15].Value & ".pdf" 'remplaces Infos, par le nom du pdf correct
'remplaces "Factures" par la feuille excel que tu veux exporter.
Sheets("Facture").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
pj, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
c'est simple tu copies, tu colles et tu modifies ce dont tu as besoin :
Dim pj as String
pj = ActiveWorkbook.Path & "\" & Sheets("Infos").[L15].Value & ".pdf"
Sheets("Facture").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
pj, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
pj = ActiveWorkbook.Path & "\" & Sheets("infos").[L15].Value & ".pdf" 'remplaces Infos, par le nom du pdf correct
'remplaces "Factures" par la feuille excel que tu veux exporter.
Sheets("Facture").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
pj, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Merci de ta réponse, mais je ne comprends pas très bien ce que tu veux dire ?
Mon objectif est d'exporter 2 ou 3 onglets d'un fichier Excel qui en comporte une dizaine, non plus en PDF mais vers un nouveau fichier Excel.
En espérant être clair, merci d'avance
Quels sont les onglets que tu veux exporter?
Code :
Sub test()
Dim objWbk As Workbook
Dim objSht1 As Worksheet, objSht2 As Worksheet
' Selection de la feuille source du classeur actif par son nom.
' (feuille à copier)
Set objSht1 = ThisWorkbook.Worksheets("Data1" )
' Classeur destination
Set objWbk = Application.Workbooks("Classeur2.xls" )
' Feuille destination
Set objSht2 = objWbk.Worksheets("Data2" )
' Copie de la feuille.
objSht1.Copy before:=objSht2
End Sub
Enfaîte je me rend compte que je ne t'ai pas donné toutes les infos
J'ai un fichier Excel de 10 onglets qui comporte de très nombreuses informations liées à mes tarifs fournisseurs, clients, listing des produits, ect.
Sur l'un des onglets j'ai plusieurs boutons qui activent des macros avec pour but d'envoyer certaines parties des informations à certains collaborateurs en fonction de quantité que j'encode. (Ex. l'un est concerné uniquement par les prix clients / qté, l'autre par les prix fournisseurs / qté et le dernier uniquement par les quantités par produit)
Je ne souhaite donc pas envoyé tous le fichier à chacun d'entre eux.
J'aimerais donc créer un fichier Excel temporaire qui ne reprend que 2 ou 3 onglets (différent en fonction du destinataire du mail), mettre ce fichier en pièce jointe et le supprimer une fois le mail envoyé.
Actuellement ma macro est opérationnelle mais elle n'envoie qu'un seul onglet, au format PDF (hors mes collaborateurs ne peuvent utiliser ce type de fichier pour leurs opérations) c'est pourquoi je souhaite maintenant exporter en Excel et plusieurs onglets.
Ci-joint ma macro actuelle :
Je suis toujours dans le besoin je me permet donc de relancer.
Merci d'avance