Impression Plusieurs fichiers

Le
Jean-Miche
Bonjour,

Je chercher à créer une macro permettant d'imprimer uniquement les pages
impaires de tous les fichiers d'un répertoire contenant 300 fichiers.
Je précise que les zones d'impression sont correctement définies et que le
but de la macro est de faire quelques clics seulement pour lancer
l'impression (choix du répertoire)

Avez vous une idée ?
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #3084301
Bonjour Jean-Miche,


essaie ceci :

Renseigne la variable Chemin du répertoire où sont tes fichiers

'-------------------------------
Sub Imprimer()

Dim Chemin As String, Fichier As String

Chemin = "c:Atravail" 'à définir

Fichier = Dir(Chemin & "*.xls")
Do While Fichier <> ""
SubImprimer Chemin & Fichier
Fichier = Dir()
Loop

End Sub

'-------------------------------
Sub SubImprimer(NomComplet As String)

Dim Wk As Workbook, NbPages As Integer
Dim A As Integer, sh As Worksheet

Set Wk = Workbooks.Open(NomComplet)
For Each sh In Worksheets
With sh
.Activate
NbPages = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
For A = 1 To NbPages Step 2
sh.PrintOut From:=A, To:=A, Preview:=True
Next
NbPages = 0
End With
Next
Wk.Close False
End Sub
'-------------------------------


Salutations!


"Jean-Miche"
Bonjour,

Je chercher à créer une macro permettant d'imprimer uniquement les pages
impaires de tous les fichiers d'un répertoire contenant 300 fichiers.
Je précise que les zones d'impression sont correctement définies et que le
but de la macro est de faire quelques clics seulement pour lancer
l'impression (choix du répertoire)

Avez vous une idée ?
michdenis
Le #3084261
Bonjour Jean-Miche,

Si certains de tes fichiers ont des procédures qui s'exécutent à l'ouverture du fichier, tu devrais plutôt utiliser cette Sub. Cela
évitera l'exécution de ces dernières.


'---------------------------------
Sub Imprimer()

Dim Xl As New Excel.Application
Dim Chemin As String, Fichier As String
Dim Wk As Workbook, NbPages As Integer
Dim A As Integer, sh As Worksheet

Chemin = "c:Atravail"
Fichier = Dir(Chemin & "*.xls")

Application.ScreenUpdating = False

Do While Fichier <> ""
Set Wk = Xl.Workbooks.Open(Chemin & Fichier)
Xl.Visible = True 'optionnel ...mais en cas
'de problème, ça aide.
For Each sh In Wk.Worksheets
With sh
.Activate
NbPages = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
For A = 1 To NbPages Step 2
sh.PrintOut From:=A, To:=A, Preview:úlse
Next
NbPages = 0
End With
Next
Wk.Close False
Fichier = Dir()
Loop
Xl.Quit
Set Xl = Nothing: Set Wk = Nothing

End Sub
'---------------------------------



Salutations!



"Jean-Miche"
Bonjour,

Je chercher à créer une macro permettant d'imprimer uniquement les pages
impaires de tous les fichiers d'un répertoire contenant 300 fichiers.
Je précise que les zones d'impression sont correctement définies et que le
but de la macro est de faire quelques clics seulement pour lancer
l'impression (choix du répertoire)

Avez vous une idée ?
Publicité
Poster une réponse
Anonyme