Je voudrais faire une macro simple qui imprimerais tous les fichiers
(.xlsm et .docx) du dossier dans lequel se trouve le fichier Excel
contenant la macro.
Je voudrais juste que le prompt d'impression apparaisse pour chaque
feuille afin de choisir les options d'impression. Une fois le bouton
imprimer pressé, la macro passe au fichier suivant et affiche le prompt
d'impression du fichier suivant.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel.C
Bonjour. Essaie la macro suivante :
Sub Impression() Dim Fich As String, WordObj As Object, WordDoc As Object
Fich = Dir(ThisWorkbook.Path & "*.xlsm") Do While Fich <> "" Workbooks.Open ThisWorkbook.Path & "" & Fich For Each sh In ActiveWorkbook.Sheets sh.PrintPreview Next sh ActiveWorkbook.Close False Fich = Dir Loop Set WordObj = CreateObject("Word.Application") WordObj.Visible = True 'Set WordObj = GetObject(, "Word.Application") Fich = Dir(ThisWorkbook.Path & "*.docx") Do While Fich <> "" Set WordDoc = WordObj.documents.Open(ThisWorkbook.Path & "" & Fich) WordDoc.PrintPreview WordDoc.Close Fich = Dir Loop Set WordDoc = Nothing Set WordObj = Nothing End Sub
Cordialement. Daniel
Bonjour,
Je voudrais faire une macro simple qui imprimerais tous les fichiers (.xlsm et .docx) du dossier dans lequel se trouve le fichier Excel contenant la macro.
Je voudrais juste que le prompt d'impression apparaisse pour chaque feuille afin de choisir les options d'impression. Une fois le bouton imprimer pressé, la macro passe au fichier suivant et affiche le prompt d'impression du fichier suivant.
Merci de votre aide.
Cordialement
Tibo
Bonjour.
Essaie la macro suivante :
Sub Impression()
Dim Fich As String, WordObj As Object, WordDoc As Object
Fich = Dir(ThisWorkbook.Path & "*.xlsm")
Do While Fich <> ""
Workbooks.Open ThisWorkbook.Path & "" & Fich
For Each sh In ActiveWorkbook.Sheets
sh.PrintPreview
Next sh
ActiveWorkbook.Close False
Fich = Dir
Loop
Set WordObj = CreateObject("Word.Application")
WordObj.Visible = True
'Set WordObj = GetObject(, "Word.Application")
Fich = Dir(ThisWorkbook.Path & "*.docx")
Do While Fich <> ""
Set WordDoc = WordObj.documents.Open(ThisWorkbook.Path & "" &
Fich)
WordDoc.PrintPreview
WordDoc.Close
Fich = Dir
Loop
Set WordDoc = Nothing
Set WordObj = Nothing
End Sub
Cordialement.
Daniel
Bonjour,
Je voudrais faire une macro simple qui imprimerais tous les fichiers (.xlsm
et .docx) du dossier dans lequel se trouve le fichier Excel contenant la
macro.
Je voudrais juste que le prompt d'impression apparaisse pour chaque feuille
afin de choisir les options d'impression. Une fois le bouton imprimer pressé,
la macro passe au fichier suivant et affiche le prompt d'impression du
fichier suivant.
Sub Impression() Dim Fich As String, WordObj As Object, WordDoc As Object
Fich = Dir(ThisWorkbook.Path & "*.xlsm") Do While Fich <> "" Workbooks.Open ThisWorkbook.Path & "" & Fich For Each sh In ActiveWorkbook.Sheets sh.PrintPreview Next sh ActiveWorkbook.Close False Fich = Dir Loop Set WordObj = CreateObject("Word.Application") WordObj.Visible = True 'Set WordObj = GetObject(, "Word.Application") Fich = Dir(ThisWorkbook.Path & "*.docx") Do While Fich <> "" Set WordDoc = WordObj.documents.Open(ThisWorkbook.Path & "" & Fich) WordDoc.PrintPreview WordDoc.Close Fich = Dir Loop Set WordDoc = Nothing Set WordObj = Nothing End Sub
Cordialement. Daniel
Bonjour,
Je voudrais faire une macro simple qui imprimerais tous les fichiers (.xlsm et .docx) du dossier dans lequel se trouve le fichier Excel contenant la macro.
Je voudrais juste que le prompt d'impression apparaisse pour chaque feuille afin de choisir les options d'impression. Une fois le bouton imprimer pressé, la macro passe au fichier suivant et affiche le prompt d'impression du fichier suivant.
Merci de votre aide.
Cordialement
Tibo
-Tibo-
Merci pour ta proposition Daniel !
Cependant la partie concernant Word ne fonctionne pas : lors de l'action .PrintPreview, Word affiche bien la preview mais referme aussitôt le fichier pour passer au suivant. Je peux donc pas appuyer sur "Imprimer" comme dans la partie Excel qui elle marche très bien.
une Idee ?
Merci encore...
Daniel.C a écrit :
Bonjour. Essaie la macro suivante :
Sub Impression() Dim Fich As String, WordObj As Object, WordDoc As Object
Fich = Dir(ThisWorkbook.Path & "*.xlsm") Do While Fich <> "" Workbooks.Open ThisWorkbook.Path & "" & Fich For Each sh In ActiveWorkbook.Sheets sh.PrintPreview Next sh ActiveWorkbook.Close False Fich = Dir Loop Set WordObj = CreateObject("Word.Application") WordObj.Visible = True 'Set WordObj = GetObject(, "Word.Application") Fich = Dir(ThisWorkbook.Path & "*.docx") Do While Fich <> "" Set WordDoc = WordObj.documents.Open(ThisWorkbook.Path & "" & Fich) WordDoc.PrintPreview WordDoc.Close Fich = Dir Loop Set WordDoc = Nothing Set WordObj = Nothing End Sub
Cordialement. Daniel
Bonjour,
Je voudrais faire une macro simple qui imprimerais tous les fichiers (.xlsm et .docx) du dossier dans lequel se trouve le fichier Excel contenant la macro.
Je voudrais juste que le prompt d'impression apparaisse pour chaque feuille afin de choisir les options d'impression. Une fois le bouton imprimer pressé, la macro passe au fichier suivant et affiche le prompt d'impression du fichier suivant.
Merci de votre aide.
Cordialement
Tibo
Merci pour ta proposition Daniel !
Cependant la partie concernant Word ne fonctionne pas : lors de l'action
.PrintPreview, Word affiche bien la preview mais referme aussitôt le
fichier pour passer au suivant. Je peux donc pas appuyer sur "Imprimer"
comme dans la partie Excel qui elle marche très bien.
une Idee ?
Merci encore...
Daniel.C a écrit :
Bonjour.
Essaie la macro suivante :
Sub Impression()
Dim Fich As String, WordObj As Object, WordDoc As Object
Fich = Dir(ThisWorkbook.Path & "*.xlsm")
Do While Fich <> ""
Workbooks.Open ThisWorkbook.Path & "" & Fich
For Each sh In ActiveWorkbook.Sheets
sh.PrintPreview
Next sh
ActiveWorkbook.Close False
Fich = Dir
Loop
Set WordObj = CreateObject("Word.Application")
WordObj.Visible = True
'Set WordObj = GetObject(, "Word.Application")
Fich = Dir(ThisWorkbook.Path & "*.docx")
Do While Fich <> ""
Set WordDoc = WordObj.documents.Open(ThisWorkbook.Path & "" & Fich)
WordDoc.PrintPreview
WordDoc.Close
Fich = Dir
Loop
Set WordDoc = Nothing
Set WordObj = Nothing
End Sub
Cordialement.
Daniel
Bonjour,
Je voudrais faire une macro simple qui imprimerais tous les fichiers
(.xlsm et .docx) du dossier dans lequel se trouve le fichier Excel
contenant la macro.
Je voudrais juste que le prompt d'impression apparaisse pour chaque
feuille afin de choisir les options d'impression. Une fois le bouton
imprimer pressé, la macro passe au fichier suivant et affiche le
prompt d'impression du fichier suivant.
Cependant la partie concernant Word ne fonctionne pas : lors de l'action .PrintPreview, Word affiche bien la preview mais referme aussitôt le fichier pour passer au suivant. Je peux donc pas appuyer sur "Imprimer" comme dans la partie Excel qui elle marche très bien.
une Idee ?
Merci encore...
Daniel.C a écrit :
Bonjour. Essaie la macro suivante :
Sub Impression() Dim Fich As String, WordObj As Object, WordDoc As Object
Fich = Dir(ThisWorkbook.Path & "*.xlsm") Do While Fich <> "" Workbooks.Open ThisWorkbook.Path & "" & Fich For Each sh In ActiveWorkbook.Sheets sh.PrintPreview Next sh ActiveWorkbook.Close False Fich = Dir Loop Set WordObj = CreateObject("Word.Application") WordObj.Visible = True 'Set WordObj = GetObject(, "Word.Application") Fich = Dir(ThisWorkbook.Path & "*.docx") Do While Fich <> "" Set WordDoc = WordObj.documents.Open(ThisWorkbook.Path & "" & Fich) WordDoc.PrintPreview WordDoc.Close Fich = Dir Loop Set WordDoc = Nothing Set WordObj = Nothing End Sub
Cordialement. Daniel
Bonjour,
Je voudrais faire une macro simple qui imprimerais tous les fichiers (.xlsm et .docx) du dossier dans lequel se trouve le fichier Excel contenant la macro.
Je voudrais juste que le prompt d'impression apparaisse pour chaque feuille afin de choisir les options d'impression. Une fois le bouton imprimer pressé, la macro passe au fichier suivant et affiche le prompt d'impression du fichier suivant.
Merci de votre aide.
Cordialement
Tibo
Daniel.C
J'avais testé en mode ligne à ligne ! . En attendant une proposition correcte, si tu es pressé, tu peux mettre un poin d'arrêt sur l'insttruction "Loop", mais bon, c'est du bricolage. Poste ton problème sur le forum Word, tu auras plus de chances d'obtenir une réponse. Daniel
Merci pour ta proposition Daniel !
Cependant la partie concernant Word ne fonctionne pas : lors de l'action .PrintPreview, Word affiche bien la preview mais referme aussitôt le fichier pour passer au suivant. Je peux donc pas appuyer sur "Imprimer" comme dans la partie Excel qui elle marche très bien.
une Idee ?
Merci encore...
Daniel.C a écrit :
Bonjour. Essaie la macro suivante :
Sub Impression() Dim Fich As String, WordObj As Object, WordDoc As Object
Fich = Dir(ThisWorkbook.Path & "*.xlsm") Do While Fich <> "" Workbooks.Open ThisWorkbook.Path & "" & Fich For Each sh In ActiveWorkbook.Sheets sh.PrintPreview Next sh ActiveWorkbook.Close False Fich = Dir Loop Set WordObj = CreateObject("Word.Application") WordObj.Visible = True 'Set WordObj = GetObject(, "Word.Application") Fich = Dir(ThisWorkbook.Path & "*.docx") Do While Fich <> "" Set WordDoc = WordObj.documents.Open(ThisWorkbook.Path & "" & Fich) WordDoc.PrintPreview WordDoc.Close Fich = Dir Loop Set WordDoc = Nothing Set WordObj = Nothing End Sub
Cordialement. Daniel
Bonjour,
Je voudrais faire une macro simple qui imprimerais tous les fichiers (.xlsm et .docx) du dossier dans lequel se trouve le fichier Excel contenant la macro.
Je voudrais juste que le prompt d'impression apparaisse pour chaque feuille afin de choisir les options d'impression. Une fois le bouton imprimer pressé, la macro passe au fichier suivant et affiche le prompt d'impression du fichier suivant.
Merci de votre aide.
Cordialement
Tibo
J'avais testé en mode ligne à ligne ! . En attendant une proposition
correcte, si tu es pressé, tu peux mettre un poin d'arrêt sur
l'insttruction "Loop", mais bon, c'est du bricolage. Poste ton problème
sur le forum Word, tu auras plus de chances d'obtenir une réponse.
Daniel
Merci pour ta proposition Daniel !
Cependant la partie concernant Word ne fonctionne pas : lors de l'action
.PrintPreview, Word affiche bien la preview mais referme aussitôt le fichier
pour passer au suivant. Je peux donc pas appuyer sur "Imprimer" comme dans la
partie Excel qui elle marche très bien.
une Idee ?
Merci encore...
Daniel.C a écrit :
Bonjour.
Essaie la macro suivante :
Sub Impression()
Dim Fich As String, WordObj As Object, WordDoc As Object
Fich = Dir(ThisWorkbook.Path & "*.xlsm")
Do While Fich <> ""
Workbooks.Open ThisWorkbook.Path & "" & Fich
For Each sh In ActiveWorkbook.Sheets
sh.PrintPreview
Next sh
ActiveWorkbook.Close False
Fich = Dir
Loop
Set WordObj = CreateObject("Word.Application")
WordObj.Visible = True
'Set WordObj = GetObject(, "Word.Application")
Fich = Dir(ThisWorkbook.Path & "*.docx")
Do While Fich <> ""
Set WordDoc = WordObj.documents.Open(ThisWorkbook.Path & "" & Fich)
WordDoc.PrintPreview
WordDoc.Close
Fich = Dir
Loop
Set WordDoc = Nothing
Set WordObj = Nothing
End Sub
Cordialement.
Daniel
Bonjour,
Je voudrais faire une macro simple qui imprimerais tous les fichiers
(.xlsm et .docx) du dossier dans lequel se trouve le fichier Excel
contenant la macro.
Je voudrais juste que le prompt d'impression apparaisse pour chaque
feuille afin de choisir les options d'impression. Une fois le bouton
imprimer pressé, la macro passe au fichier suivant et affiche le prompt
d'impression du fichier suivant.
J'avais testé en mode ligne à ligne ! . En attendant une proposition correcte, si tu es pressé, tu peux mettre un poin d'arrêt sur l'insttruction "Loop", mais bon, c'est du bricolage. Poste ton problème sur le forum Word, tu auras plus de chances d'obtenir une réponse. Daniel
Merci pour ta proposition Daniel !
Cependant la partie concernant Word ne fonctionne pas : lors de l'action .PrintPreview, Word affiche bien la preview mais referme aussitôt le fichier pour passer au suivant. Je peux donc pas appuyer sur "Imprimer" comme dans la partie Excel qui elle marche très bien.
une Idee ?
Merci encore...
Daniel.C a écrit :
Bonjour. Essaie la macro suivante :
Sub Impression() Dim Fich As String, WordObj As Object, WordDoc As Object
Fich = Dir(ThisWorkbook.Path & "*.xlsm") Do While Fich <> "" Workbooks.Open ThisWorkbook.Path & "" & Fich For Each sh In ActiveWorkbook.Sheets sh.PrintPreview Next sh ActiveWorkbook.Close False Fich = Dir Loop Set WordObj = CreateObject("Word.Application") WordObj.Visible = True 'Set WordObj = GetObject(, "Word.Application") Fich = Dir(ThisWorkbook.Path & "*.docx") Do While Fich <> "" Set WordDoc = WordObj.documents.Open(ThisWorkbook.Path & "" & Fich) WordDoc.PrintPreview WordDoc.Close Fich = Dir Loop Set WordDoc = Nothing Set WordObj = Nothing End Sub
Cordialement. Daniel
Bonjour,
Je voudrais faire une macro simple qui imprimerais tous les fichiers (.xlsm et .docx) du dossier dans lequel se trouve le fichier Excel contenant la macro.
Je voudrais juste que le prompt d'impression apparaisse pour chaque feuille afin de choisir les options d'impression. Une fois le bouton imprimer pressé, la macro passe au fichier suivant et affiche le prompt d'impression du fichier suivant.
Merci de votre aide.
Cordialement
Tibo
-Tibo-
Je vais aller voir sur le forum Word... Mais voulant mettre la macro dans un fichier Excel, j'avais d'abord penser à ce forum. Je ne suis pas particulièrement presser donc pas de soucis... Pour le point d'arret, je ne sais pas comment m'y prendre pour le moment mais je vais aller faire un tour dans l'aide de VBA...
Merci encore de ton aide.
Cdlt.
Tibo
Daniel.C a écrit :
J'avais testé en mode ligne à ligne ! . En attendant une proposition correcte, si tu es pressé, tu peux mettre un poin d'arrêt sur l'insttruction "Loop", mais bon, c'est du bricolage. Poste ton problème sur le forum Word, tu auras plus de chances d'obtenir une réponse. Daniel
Merci pour ta proposition Daniel !
Cependant la partie concernant Word ne fonctionne pas : lors de l'action .PrintPreview, Word affiche bien la preview mais referme aussitôt le fichier pour passer au suivant. Je peux donc pas appuyer sur "Imprimer" comme dans la partie Excel qui elle marche très bien.
une Idee ?
Merci encore...
Daniel.C a écrit :
Bonjour. Essaie la macro suivante :
Sub Impression() Dim Fich As String, WordObj As Object, WordDoc As Object
Fich = Dir(ThisWorkbook.Path & "*.xlsm") Do While Fich <> "" Workbooks.Open ThisWorkbook.Path & "" & Fich For Each sh In ActiveWorkbook.Sheets sh.PrintPreview Next sh ActiveWorkbook.Close False Fich = Dir Loop Set WordObj = CreateObject("Word.Application") WordObj.Visible = True 'Set WordObj = GetObject(, "Word.Application") Fich = Dir(ThisWorkbook.Path & "*.docx") Do While Fich <> "" Set WordDoc = WordObj.documents.Open(ThisWorkbook.Path & "" & Fich) WordDoc.PrintPreview WordDoc.Close Fich = Dir Loop Set WordDoc = Nothing Set WordObj = Nothing End Sub
Cordialement. Daniel
Bonjour,
Je voudrais faire une macro simple qui imprimerais tous les fichiers (.xlsm et .docx) du dossier dans lequel se trouve le fichier Excel contenant la macro.
Je voudrais juste que le prompt d'impression apparaisse pour chaque feuille afin de choisir les options d'impression. Une fois le bouton imprimer pressé, la macro passe au fichier suivant et affiche le prompt d'impression du fichier suivant.
Merci de votre aide.
Cordialement
Tibo
Je vais aller voir sur le forum Word... Mais voulant mettre la macro
dans un fichier Excel, j'avais d'abord penser à ce forum.
Je ne suis pas particulièrement presser donc pas de soucis...
Pour le point d'arret, je ne sais pas comment m'y prendre pour le moment
mais je vais aller faire un tour dans l'aide de VBA...
Merci encore de ton aide.
Cdlt.
Tibo
Daniel.C a écrit :
J'avais testé en mode ligne à ligne ! . En attendant une proposition
correcte, si tu es pressé, tu peux mettre un poin d'arrêt sur
l'insttruction "Loop", mais bon, c'est du bricolage. Poste ton problème
sur le forum Word, tu auras plus de chances d'obtenir une réponse.
Daniel
Merci pour ta proposition Daniel !
Cependant la partie concernant Word ne fonctionne pas : lors de
l'action .PrintPreview, Word affiche bien la preview mais referme
aussitôt le fichier pour passer au suivant. Je peux donc pas appuyer
sur "Imprimer" comme dans la partie Excel qui elle marche très bien.
une Idee ?
Merci encore...
Daniel.C a écrit :
Bonjour.
Essaie la macro suivante :
Sub Impression()
Dim Fich As String, WordObj As Object, WordDoc As Object
Fich = Dir(ThisWorkbook.Path & "*.xlsm")
Do While Fich <> ""
Workbooks.Open ThisWorkbook.Path & "" & Fich
For Each sh In ActiveWorkbook.Sheets
sh.PrintPreview
Next sh
ActiveWorkbook.Close False
Fich = Dir
Loop
Set WordObj = CreateObject("Word.Application")
WordObj.Visible = True
'Set WordObj = GetObject(, "Word.Application")
Fich = Dir(ThisWorkbook.Path & "*.docx")
Do While Fich <> ""
Set WordDoc = WordObj.documents.Open(ThisWorkbook.Path & "" & Fich)
WordDoc.PrintPreview
WordDoc.Close
Fich = Dir
Loop
Set WordDoc = Nothing
Set WordObj = Nothing
End Sub
Cordialement.
Daniel
Bonjour,
Je voudrais faire une macro simple qui imprimerais tous les fichiers
(.xlsm et .docx) du dossier dans lequel se trouve le fichier Excel
contenant la macro.
Je voudrais juste que le prompt d'impression apparaisse pour chaque
feuille afin de choisir les options d'impression. Une fois le bouton
imprimer pressé, la macro passe au fichier suivant et affiche le
prompt d'impression du fichier suivant.
Je vais aller voir sur le forum Word... Mais voulant mettre la macro dans un fichier Excel, j'avais d'abord penser à ce forum. Je ne suis pas particulièrement presser donc pas de soucis... Pour le point d'arret, je ne sais pas comment m'y prendre pour le moment mais je vais aller faire un tour dans l'aide de VBA...
Merci encore de ton aide.
Cdlt.
Tibo
Daniel.C a écrit :
J'avais testé en mode ligne à ligne ! . En attendant une proposition correcte, si tu es pressé, tu peux mettre un poin d'arrêt sur l'insttruction "Loop", mais bon, c'est du bricolage. Poste ton problème sur le forum Word, tu auras plus de chances d'obtenir une réponse. Daniel
Merci pour ta proposition Daniel !
Cependant la partie concernant Word ne fonctionne pas : lors de l'action .PrintPreview, Word affiche bien la preview mais referme aussitôt le fichier pour passer au suivant. Je peux donc pas appuyer sur "Imprimer" comme dans la partie Excel qui elle marche très bien.
une Idee ?
Merci encore...
Daniel.C a écrit :
Bonjour. Essaie la macro suivante :
Sub Impression() Dim Fich As String, WordObj As Object, WordDoc As Object
Fich = Dir(ThisWorkbook.Path & "*.xlsm") Do While Fich <> "" Workbooks.Open ThisWorkbook.Path & "" & Fich For Each sh In ActiveWorkbook.Sheets sh.PrintPreview Next sh ActiveWorkbook.Close False Fich = Dir Loop Set WordObj = CreateObject("Word.Application") WordObj.Visible = True 'Set WordObj = GetObject(, "Word.Application") Fich = Dir(ThisWorkbook.Path & "*.docx") Do While Fich <> "" Set WordDoc = WordObj.documents.Open(ThisWorkbook.Path & "" & Fich) WordDoc.PrintPreview WordDoc.Close Fich = Dir Loop Set WordDoc = Nothing Set WordObj = Nothing End Sub
Cordialement. Daniel
Bonjour,
Je voudrais faire une macro simple qui imprimerais tous les fichiers (.xlsm et .docx) du dossier dans lequel se trouve le fichier Excel contenant la macro.
Je voudrais juste que le prompt d'impression apparaisse pour chaque feuille afin de choisir les options d'impression. Une fois le bouton imprimer pressé, la macro passe au fichier suivant et affiche le prompt d'impression du fichier suivant.
Merci de votre aide.
Cordialement
Tibo
Daniel.C
> Pour le point d'arret, je ne sais pas comment m'y prendre pour le moment mais je vais aller faire un tour dans l'aide de VBA...
Pour mettre un ppoint d'arrêt : - clique sur l'instruction "Loop", appuie sur la touche F9; - clique sur l'instruction "Loop", menus Débogage, Basculer le point d'arrêt; - clique dans la marge en face de l'instruction "Loop" Mêmes manips pour ôter le point d'arrêt, qui de toutes manières est supprimé par la fermeture du classeur. Daniel
> Pour le point d'arret, je ne sais pas comment m'y prendre pour le moment mais
je vais aller faire un tour dans l'aide de VBA...
Pour mettre un ppoint d'arrêt :
- clique sur l'instruction "Loop", appuie sur la touche F9;
- clique sur l'instruction "Loop", menus Débogage, Basculer le point
d'arrêt;
- clique dans la marge en face de l'instruction "Loop"
Mêmes manips pour ôter le point d'arrêt, qui de toutes manières est
supprimé par la fermeture du classeur.
Daniel
> Pour le point d'arret, je ne sais pas comment m'y prendre pour le moment mais je vais aller faire un tour dans l'aide de VBA...
Pour mettre un ppoint d'arrêt : - clique sur l'instruction "Loop", appuie sur la touche F9; - clique sur l'instruction "Loop", menus Débogage, Basculer le point d'arrêt; - clique dans la marge en face de l'instruction "Loop" Mêmes manips pour ôter le point d'arrêt, qui de toutes manières est supprimé par la fermeture du classeur. Daniel
michdenis
Bonjour,
En reprenant la macro de Daniel, on arrive à faire ceci :
'-------------------------------------- Sub Impression() Dim Fichier As String, WordObj As Object, WordDoc As Object Dim Arr(), Chemin As String, Wk As Workbook, Elt As Variant
Chemin = ThisWorkbook.Path & ""
Arr = Array("*.do*", "*.xls*")
For Each Elt In Arr Fichier = Dir(Chemin & "" & Elt) Select Case Elt Case Arr(0) Set WordObj = CreateObject("Word.Application") WordObj.Visible = True WordObj.Activate Do While Fichier <> "" Set WordDoc = WordObj.documents.Open(Chemin & Fichier) WordDoc.PrintPreview Do While WordObj.PrintPreview = True DoEvents Loop WordDoc.Close False Fichier = Dir() Loop WordObj.Quit Set WordDoc = Nothing Set WordObj = Nothing
Case Arr(1) ThisWorkbook.Activate Do While Fichier <> "" Set Wk = Workbooks.Open(Chemin & Fichier) For Each sh In Wk.Sheets sh.PrintPreview Next Wk.Close False Fichier = Dir() Loop Set Wk = Nothing End Select Next End Sub '------------------------------------------------
Bonjour,
En reprenant la macro de Daniel, on arrive à faire ceci :
'--------------------------------------
Sub Impression()
Dim Fichier As String, WordObj As Object, WordDoc As Object
Dim Arr(), Chemin As String, Wk As Workbook, Elt As Variant
Chemin = ThisWorkbook.Path & ""
Arr = Array("*.do*", "*.xls*")
For Each Elt In Arr
Fichier = Dir(Chemin & "" & Elt)
Select Case Elt
Case Arr(0)
Set WordObj = CreateObject("Word.Application")
WordObj.Visible = True
WordObj.Activate
Do While Fichier <> ""
Set WordDoc = WordObj.documents.Open(Chemin & Fichier)
WordDoc.PrintPreview
Do While WordObj.PrintPreview = True
DoEvents
Loop
WordDoc.Close False
Fichier = Dir()
Loop
WordObj.Quit
Set WordDoc = Nothing
Set WordObj = Nothing
Case Arr(1)
ThisWorkbook.Activate
Do While Fichier <> ""
Set Wk = Workbooks.Open(Chemin & Fichier)
For Each sh In Wk.Sheets
sh.PrintPreview
Next
Wk.Close False
Fichier = Dir()
Loop
Set Wk = Nothing
End Select
Next
End Sub
'------------------------------------------------
En reprenant la macro de Daniel, on arrive à faire ceci :
'-------------------------------------- Sub Impression() Dim Fichier As String, WordObj As Object, WordDoc As Object Dim Arr(), Chemin As String, Wk As Workbook, Elt As Variant
Chemin = ThisWorkbook.Path & ""
Arr = Array("*.do*", "*.xls*")
For Each Elt In Arr Fichier = Dir(Chemin & "" & Elt) Select Case Elt Case Arr(0) Set WordObj = CreateObject("Word.Application") WordObj.Visible = True WordObj.Activate Do While Fichier <> "" Set WordDoc = WordObj.documents.Open(Chemin & Fichier) WordDoc.PrintPreview Do While WordObj.PrintPreview = True DoEvents Loop WordDoc.Close False Fichier = Dir() Loop WordObj.Quit Set WordDoc = Nothing Set WordObj = Nothing
Case Arr(1) ThisWorkbook.Activate Do While Fichier <> "" Set Wk = Workbooks.Open(Chemin & Fichier) For Each sh In Wk.Sheets sh.PrintPreview Next Wk.Close False Fichier = Dir() Loop Set Wk = Nothing End Select Next End Sub '------------------------------------------------
michdenis
Pour une meilleure compréhension, les fichiers "Word" se ferme dès que tu fermes le mode "PrintPreview" pour afficher le fichier suivant du répertoire.
Pour une meilleure compréhension, les fichiers "Word"
se ferme dès que tu fermes le mode "PrintPreview" pour
afficher le fichier suivant du répertoire.
Pour une meilleure compréhension, les fichiers "Word" se ferme dès que tu fermes le mode "PrintPreview" pour afficher le fichier suivant du répertoire.