Sélection pour enregistrement

Bonjour,

J'aimerais enregistrer mon classeur complet en pdf avec l'option d'enregistrement "PDF ou XPS". cela fonctionne mais il enregistre les 65000 lignes de chaque onglet, ca fait environ 152 pages par onglets!

en voulant reprendre un bout de code qui me sert à l'impression de mes onglet jusqu'à la dernière ligne pleine, je n'arrive pas à le faire fonctionner pour l'enregistrement: le voici

Sub Bouton5_Clic()

Dim i As Integer

For i = 1 To Sheets.Count - 1

Sheets(i).Select

Range("A1:F" & Range("A400").End(xlUp).Row).PrintPreview

Next i

End Sub

J'essaie de l'intégrer dans celui-ci:

Sub Bouton6_Clic()

Dim i As Integer

For i = 1 To Sheets.Count - 1

Sheets(i).Select

Range ("A1:F" & Range("A400").End(xlUp)

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

"C:\Documents and Settings\xxxx\Mes documents\privé\Excel\Livre de caisse\Livre de caisse 2013IIIavec pdf.pdf" _

, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _

:=False, OpenAfterPublish:=False

Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

"C:\Documents and Settings\xxxxx\Mes documents\privé\Excel\Livre de caisse\Livre de caisse 2013IIIavec pdf.pdf" _

, Quality:=xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas _

:=False, OpenAfterPublish:=False

Next i

End Sub

Pouvez m'aider à résoudre mon problème pour que cela fonctionne?

Petite précision je ne vais pas utiliser pdfcreator, mais uniquement l'option d'enregistrement pdf native d'office.

meilleures salutations

Bonjour,

Une piste (sans garantie)

Dim Plage As Range
    Set Plage = Range("A1:F" & Range("A400").End(xlUp).Row)
    Plage.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "C:\Documents and Settings\xxxx\Mes documents\privé\Excel\Livre de caisse\Livre de caisse 2013IIIavec pdf.pdf" _
    , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=False

Idem pour le 2ém -> Plage à la place de sélection

A+

Salut,

Merci de ta réponse c'est déjà un grand pas en avant!!

alors si j'enlève mon bout de compte qui est censé constitué ma boucle ca marche nickel.

Il me reste a trouver comment intégrer ma boucle pour qu'il aille me chercher tout mes onglets soit 12

par contre avec ma boucle j'ai ce message d'erreur: "propriété ou méthode non gérer".

Bonne journée

F

Je n'avais pas tenu compte de la boucle, je pensais que tu pourrais le faire

Remplacer la ligne

Set Plage = Range("A1:F" & Range("A400").End(xlUp).Row)

par

Set Plage =Sheets(i). Range("A1:F" & Sheets(i)..Range("A400").End(xlUp).Row)

Relisant ton code dans la question initiale, je pense que ça devrait fonctionner avec la première solution.

L'erreur est ailleur.

Reposte ton code, et cette fois oublie pas de le baliser comme du code.

Sélectionner le code et cliquer sur le bouton Code juste au dessus de l'éditeur.

Encore une fois merci,

je crois que je suis un "plouk",!

C'est mon 1er vba et c'est vrai que j'essaie de comprendre au mieux, et je dois dire que sans se forum je ne serais pas arriver à grand chose.

Il me sort que mon onglet actif avec le code ci-dessous.

Normalement les modifications que tu m'as dis y paraissent.

Sub Bouton6_Clic()
Dim i As Integer
For i = 1 To Sheets.Count - 1

Sheets(i).Select
Dim Plage As Range.

    Set Plage = Sheets(i).Range("A1:F" & Sheets(i).Range("A400").End(xlUp).Row)
    Plage.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "C:\Documents and Settings\Froidevaux\Mes documents\privé\Excel\Livre de caissetest.pdf" _
    , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=False
    Next i
End Sub

Par contre, concernant l'enregistrement à la dernière ligne pleine cela fonctionne, il me faut juste qu'il m'enregistre tout mes onglets,.

Encore merci de ton aide si précieuse.

F

Tu enregistre tes 12 onglets avec le même nom de fichier ?

Je suis pas un expert en export pdf mais je ne crois pas qu'il y ai possibilité d'ajouter des pages sur un pdf existant.

Donc, à mon avis tu tombe en erreur parce que ce fichier existe déjà..

Faudrait faire une feuille qui reprend les libellés des 12 onglets et alors, et seulement alors, sauver cette feuille en pdf.

Oui ce serait l'idéal.

Avec ce code là:

Dim i As Integer
For i = 1 To Sheets.Count - 1

Sheets(i).Select
    ChDir "C:\Documents and Settings\Froidevaux\Mes documents\privé\Excel\Livre de caisse"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Documents and Settings\Froidevaux\Mes documents\privé\Excel\Livre de caisse" & i & ".pdf"

Ca enregistre tout les onglet , par contre il m'enregistre l'entier de tout les onglets.

Si je dois avoir 12 fichier pdf au bout du compte ce ne serais pas un problème en soi, mais je veux au moins arriver à pouvoir enregistrer les 12 onglets en même temps, toujours avec ma boucle.

Tu as raison la solution serait peut-être de tout ramener sur une feuille et faire celle-ci, je vais également y réfléchir.

Ca enregistre tout les onglet , par contre il m'enregistre l'entier de tout les onglets.

Evidemment, tu lui dis d’enregistré la feuille.

Avec le i c'est bon mais emploi la plage au lieu de ActiveSheet

C'est tout bon!!.

Un grand merci pour ton aide super géniale.

Voici le code final:

Dim i As Integer
For i = 1 To Sheets.Count - 1

Sheets(i).Select
    ChDir "D:\Divers"
    Set Plage = Sheets(i).Range("A1:F" & Sheets(i).Range("A400").End(xlUp).Row)
    Plage.ExportAsFixedFormat Type:=xlTypePDF, Filename:="D:\Divers" & i & ".pdf"
Next i

End Sub

Il me fait 1 fichier par mois,J'ai vu qu'il existait un code pour regrouper les pdf je m'en vais essayé de suite.

Bonne soirée

F

Rechercher des sujets similaires à "selection enregistrement"