Impression en 1 fichier de plusieurs feuilles sélectionnées

Le
Clicnik
Bonjour,

Sachant que je pars avec un fichier Excel contenant un nombre variable de
feuilles, j'aimerais imprimer la page 1 ainsi que toutes les pages paires
suivantes.
Le code que j'utilise actuellement me fourni ce que j'ai besoin SI je passe
par une imprimante, mais cela ne fonctionne pas quand je veux imprimer un et
un seul fichier en PDF.

Si je code en "dur", l'instruction suivante est correcte à 100%:
Sheets(Array("Première", "r1", "r2", "r3")).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Le problème, c'est que je peux avoir 6 feuilles comme 20 (ou +) dans mon
classeur.


Actuellement, j'ai les instructions suivantes dans mon programme :
Sheets(1).Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
For iCpt = 2 To Sheets.Count Step 2 Sheets(iCpt).Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Next iCpt

Comme dit plus haut, ces quelques instructions me fournissent mes
impressions papiers sans problème, car j'imprime chaque feuille séparément.
Cependant, j'aimerais que l'ensemble de ces feuilles ne fassent qu'un seul
et unique fichier d'impression.

Quelqu'un aurait-il une solution a proposé ?

Merci d'avance pour votre aide.

PS: Mon fichier exemple, ce compose comme suit (en regardant les onglets)
Premier, R1, K1, R2, K2, R3, K3 => il me faut Premier, R1, R2,
R3
Un second fichier pourrait se composer comme suit :
Premier, R1, K1 => il me faut Premier, R1
Un troisième :
Premier, R1, K1, R2, K2, R3, K3, R_T, K_T, X_1,Y_1,R4, K4, ZZ, EZ
=> il me faut
Premier, R1, R2, R3, R_T, X_1, R4, ZZ

Il faut impérativement imprimer l'onglet Premier et puis tous les onglets
ayant un index pair.

Merci d'avance de vos réponses :o)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #18977501
bonjour Clicnik,

Sheets("Première").Select
For i = 2 To Sheets.Count
If i Mod 2 = 0 Then
Sheets(i).Select Replace:úlse
End If
Next
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"PDFCreator sur Ne00:", Collate:=True

isabelle

Clicnik a écrit :
Bonjour,

Sachant que je pars avec un fichier Excel contenant un nombre variable de
feuilles, j'aimerais imprimer la page 1 ainsi que toutes les pages paires
suivantes.
Le code que j'utilise actuellement me fourni ce que j'ai besoin SI je passe
par une imprimante, mais cela ne fonctionne pas quand je veux imprimer un et
un seul fichier en PDF.

Si je code en "dur", l'instruction suivante est correcte à 100%:
Sheets(Array("Première", "r1", "r2", "r3")).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Le problème, c'est que je peux avoir 6 feuilles comme 20 (ou +) dans mon
classeur.


Actuellement, j'ai les instructions suivantes dans mon programme :
Sheets(1).Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
For iCpt = 2 To Sheets.Count Step 2 Sheets(iCpt).Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Next iCpt

Comme dit plus haut, ces quelques instructions me fournissent mes
impressions papiers sans problème, car j'imprime chaque feuille séparément.
Cependant, j'aimerais que l'ensemble de ces feuilles ne fassent qu'un seul
et unique fichier d'impression.

Quelqu'un aurait-il une solution a proposé ?

Merci d'avance pour votre aide.

PS: Mon fichier exemple, ce compose comme suit (en regardant les onglets)
Premier, R1, K1, R2, K2, R3, K3 => il me faut Premier, R1, R2,
R3
Un second fichier pourrait se composer comme suit :
Premier, R1, K1 => il me faut Premier, R1
Un troisième :
Premier, R1, K1, R2, K2, R3, K3, R_T, K_T, X_1,Y_1,R4, K4, ZZ, EZ
=> il me faut
Premier, R1, R2, R3, R_T, X_1, R4, ZZ

Il faut impérativement imprimer l'onglet Premier et puis tous les onglets
ayant un index pair.

Merci d'avance de vos réponses :o)



Clicnik
Le #18977791
Merci beaucoup, ça fonctionne à merveille.


"isabelle" a écrit :

bonjour Clicnik,

Sheets("Première").Select
For i = 2 To Sheets.Count
If i Mod 2 = 0 Then
Sheets(i).Select Replace:úlse
End If
Next
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"PDFCreator sur Ne00:", Collate:=True

isabelle

Clicnik a écrit :
> Bonjour,
>
> Sachant que je pars avec un fichier Excel contenant un nombre variable de
> feuilles, j'aimerais imprimer la page 1 ainsi que toutes les pages paires
> suivantes.
> Le code que j'utilise actuellement me fourni ce que j'ai besoin SI je passe
> par une imprimante, mais cela ne fonctionne pas quand je veux imprimer un et
> un seul fichier en PDF.
>
> Si je code en "dur", l'instruction suivante est correcte à 100%:
> Sheets(Array("Première", "r1", "r2", "r3")).Select
> ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
>
> Le problème, c'est que je peux avoir 6 feuilles comme 20 (ou +) dans mon
> classeur.
>
>
> Actuellement, j'ai les instructions suivantes dans mon programme :
> Sheets(1).Activate
> ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
> For iCpt = 2 To Sheets.Count Step 2 Sheets(iCpt).Activate
> ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
> Next iCpt
>
> Comme dit plus haut, ces quelques instructions me fournissent mes
> impressions papiers sans problème, car j'imprime chaque feuille séparément.
> Cependant, j'aimerais que l'ensemble de ces feuilles ne fassent qu'un seul
> et unique fichier d'impression.
>
> Quelqu'un aurait-il une solution a proposé ?
>
> Merci d'avance pour votre aide.
>
> PS: Mon fichier exemple, ce compose comme suit (en regardant les onglets)
> Premier, R1, K1, R2, K2, R3, K3 => il me faut Premier, R1, R2,
> R3
> Un second fichier pourrait se composer comme suit :
> Premier, R1, K1 => il me faut Premier, R1
> Un troisième :
> Premier, R1, K1, R2, K2, R3, K3, R_T, K_T, X_1,Y_1,R4, K4, ZZ, EZ
> => il me faut
> Premier, R1, R2, R3, R_T, X_1, R4, ZZ
>
> Il faut impérativement imprimer l'onglet Premier et puis tous les onglets
> ayant un index pair.
>
> Merci d'avance de vos réponses :o)
>



Publicité
Poster une réponse
Anonyme