OVH Cloud OVH Cloud

imprimer des classeurs

2 réponses
Avatar
Véronique
J'ai beaucoup de classeurs Excel =E0 imprimer avec plusieurs=20
feuilles dans chaque classeur. Y a-t-il moyen d'imprimer=20
par d=E9faut le classeur entier sans passer par toutes les=20
manoeuvres suivantes : ouvrir le fichier,=20
selectionner "ficher, imprimer, classeur entier, ok" ? =20
Merci de votre aide (J'ai 500 fichiers =E0 imprimer !)

2 réponses

Avatar
Frédéric Sigonneau
Bonsoir,

En supposant que tes 500 classeurs soient stockés au même endroit (Úns le même
dossier), tu peux essayer cette procédure après l'avoir recopiée, par exemple,
dans un module standard de ton perso.xls et affectée à un bouton de barre
d'outils :

Sub ImprimeTouslesClasseurs()
Dim FSO, Dossier, Fichier
Dim Racine$

'dossier de stockage de tes 500 classeurs (à adapter)
Racine = "D:mondossiersousdossier"

If Dir(Racine, vbDirectory) = "" Then
MsgBox "Le dossier " & Racine & " n'existe pas"
Exit Sub
End If

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Dossier = FSO.getfolder(Racine)
Application.ScreenUpdating = False

For Each Fichier In Dossier.Files
If Right(Fichier.Name, 4) = ".xls" Then
Workbooks.Open(Fichier.Path).PrintOut
Workbooks(Fichier.Name).Close False
End If
Next

End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


J'ai beaucoup de classeurs Excel à imprimer avec plusieurs
feuilles dans chaque classeur. Y a-t-il moyen d'imprimer
par défaut le classeur entier sans passer par toutes les
manoeuvres suivantes : ouvrir le fichier,
selectionner "ficher, imprimer, classeur entier, ok" ?
Merci de votre aide (J'ai 500 fichiers à imprimer !)


Avatar
FxM
Bonsoir (c'est vieux jeu mais on adore ces mots désuets)

Un exemple de code à adapter et vérifier.
La macro qui suit (non testée) est supposer imprimer tous les
classeurs *.xls qui se trouvent dans c:temp.

Sub test()
Dim F
With Application.FileSearch
.NewSearch
.LookIn = "C:Temp"
.Filename = "*.xls"
.Execute
On Error Resume Next
For Each F In .FoundFiles
Workbooks.Open F
ActiveWorkbook.PrintOut Copies:=1, Collate:=True
Windows(F).Close False
Next F
End With
End Sub

@+
FxM


Véronique wrote:

J'ai beaucoup de classeurs Excel à imprimer avec plusieurs
feuilles dans chaque classeur. Y a-t-il moyen d'imprimer
par défaut le classeur entier sans passer par toutes les
manoeuvres suivantes : ouvrir le fichier,
selectionner "ficher, imprimer, classeur entier, ok" ?
Merci de votre aide (J'ai 500 fichiers à imprimer !)