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

imprimer tous les classeurs d'un dossier (vba)

3 réponses
Avatar
gueridon
bonjour,

je souhaite =E9crire une petite macro pour imprimer tous les=20
classeur excel d'un dossier pr=E9cis.
J'ai pens=E9 =E0 un truc du type for...each mais for each quoi=20
in quoi ?
Merci d'avance
:-)

3 réponses

Avatar
jp
salut

Dim WS As Worksheet


With ActiveSheet
For Each WS In Sheets


voila les lignes de code

Jp
-----Message d'origine-----
bonjour,

je souhaite écrire une petite macro pour imprimer tous
les

classeur excel d'un dossier précis.
J'ai pensé à un truc du type for...each mais for each
quoi

in quoi ?
Merci d'avance
:-)
.



Avatar
Kamel
Je pense que la reponse permet d'imprimer les feuilles d'un classeur alors
que la question est d'imprimer tous les classeurs d'un repertoire .... Si
c'est cela je ne sais pas moi aussi ... dsl

peut etre essaye

Dim WB as workbook

with activeworkbook
for each WB in workbooks .... 'c pas sur !


"jp" a écrit dans le message de
news:0a7701c3dc3e$99427ba0$
salut

Dim WS As Worksheet


With ActiveSheet
For Each WS In Sheets


voila les lignes de code

Jp
-----Message d'origine-----
bonjour,

je souhaite écrire une petite macro pour imprimer tous
les

classeur excel d'un dossier précis.
J'ai pensé à un truc du type for...each mais for each
quoi

in quoi ?
Merci d'avance
:-)
.



Avatar
Michel Pierron
Bonsoir Guéridon; tu remplaces ThisWorkbook.Path par le chemin complet du
répertoire voulu.
Sub PrintAllWBooks()
Dim ePath As String, sPath As String
sPath = ThisWorkbook.Path
Application.DisplayStatusBar = True
Application.ScreenUpdating = False
Application.StatusBar = "Traitement répertoire " & sPath & "..."
ePath = Dir(sPath & "*.*", vbNormal + vbHidden)
While ePath <> ""
If ePath <> "." And ePath <> ".." Then
If Right(ePath, 4) = ".xls" And Not ePath = ThisWorkbook.Name Then
Workbooks.Open sPath & "" & ePath, ReadOnly:=True
On Error Resume Next '(s'il n'y a rien à imprimer !)
ActiveWindow.SelectedSheets.PrintOut Copies:=1
ActiveWorkbook.Close False
End If
ePath = Dir()
End If
Wend
Application.StatusBar = False
End Sub

MP

"gueridon" a écrit dans le message de
news:086901c3dc2e$9f7d4820$
bonjour,

je souhaite écrire une petite macro pour imprimer tous les
classeur excel d'un dossier précis.
J'ai pensé à un truc du type for...each mais for each quoi
in quoi ?
Merci d'avance
:-)