Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

2 réponses
Avatar
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)

2 réponses

Avatar
isabelle
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)



Avatar
Clicnik
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)
>