Bonjour,
Pour obtenir ce que tu veux, tu dois d'abord l'exprimer clairement !
Ceci signifie énumérer toutes les actions que la procédure doit faire.
Dans le ThisWorkbook de ton classeur, tu peux écrire ceci :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Object
For Each Sh In ThisWorkbook.Worksheets
Sh.Select False
Next
For Each Sh In ActiveWindow.SelectedSheets
Sh.PrintPreview
Next
End Sub
for each Sh in Activewindow.selectedsheets
"Jac" a écrit dans le message de groupe de discussion :
uwaIyl$
Bonjour à tous,
dans un classeur, selon certains critères, quand je lance l'impression
par macro, je démasque certaines feuilles et je prévisualise toutes les
feuilles visibles avec
ActiveWorkbook.PrintOut Copies:=1, Preview:=True
Mais ensuite, je ne peux pas choisir d'imprimante, ça part directement
sur l'imprimante par défaut.
Donc j'aimerais pouvoir écrire en vba que je veux prévisualiser toutes
les feuilles. Je voudrais faire plus simple que de récupérer le nom des
feuilles visibles et d'en faire un Array, de le sélectionner puis
d'envoyer avec ActiveWindow.SelectedSheets.PrintPreview
Y a-t-il un syntaxe pour dire
ActiveWindow.ToutesLesFeuilles.PrintPreview et/ou une façon simple et
rapide de sélectionner toutes les feuilles (genre
ActiveWindows.Sheets.All.select) ?
ActiveWindow.Worksheet.PrintPreview ou
ActiveWindow.Worksheets.PrintPreview ne fonctionnent pas et
ActiveWorkbook.PrintPreview n'envoie que la feuille active.
Merci d'avance.
Jac
Bonjour,
Pour obtenir ce que tu veux, tu dois d'abord l'exprimer clairement !
Ceci signifie énumérer toutes les actions que la procédure doit faire.
Dans le ThisWorkbook de ton classeur, tu peux écrire ceci :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Object
For Each Sh In ThisWorkbook.Worksheets
Sh.Select False
Next
For Each Sh In ActiveWindow.SelectedSheets
Sh.PrintPreview
Next
End Sub
for each Sh in Activewindow.selectedsheets
"Jac" <jsansp@amfra.net> a écrit dans le message de groupe de discussion :
uwaIyl$9KHA.420@TK2MSFTNGP02.phx.gbl...
Bonjour à tous,
dans un classeur, selon certains critères, quand je lance l'impression
par macro, je démasque certaines feuilles et je prévisualise toutes les
feuilles visibles avec
ActiveWorkbook.PrintOut Copies:=1, Preview:=True
Mais ensuite, je ne peux pas choisir d'imprimante, ça part directement
sur l'imprimante par défaut.
Donc j'aimerais pouvoir écrire en vba que je veux prévisualiser toutes
les feuilles. Je voudrais faire plus simple que de récupérer le nom des
feuilles visibles et d'en faire un Array, de le sélectionner puis
d'envoyer avec ActiveWindow.SelectedSheets.PrintPreview
Y a-t-il un syntaxe pour dire
ActiveWindow.ToutesLesFeuilles.PrintPreview et/ou une façon simple et
rapide de sélectionner toutes les feuilles (genre
ActiveWindows.Sheets.All.select) ?
ActiveWindow.Worksheet.PrintPreview ou
ActiveWindow.Worksheets.PrintPreview ne fonctionnent pas et
ActiveWorkbook.PrintPreview n'envoie que la feuille active.
Merci d'avance.
Jac
Bonjour,
Pour obtenir ce que tu veux, tu dois d'abord l'exprimer clairement !
Ceci signifie énumérer toutes les actions que la procédure doit faire.
Dans le ThisWorkbook de ton classeur, tu peux écrire ceci :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Object
For Each Sh In ThisWorkbook.Worksheets
Sh.Select False
Next
For Each Sh In ActiveWindow.SelectedSheets
Sh.PrintPreview
Next
End Sub
for each Sh in Activewindow.selectedsheets
"Jac" a écrit dans le message de groupe de discussion :
uwaIyl$
Bonjour à tous,
dans un classeur, selon certains critères, quand je lance l'impression
par macro, je démasque certaines feuilles et je prévisualise toutes les
feuilles visibles avec
ActiveWorkbook.PrintOut Copies:=1, Preview:=True
Mais ensuite, je ne peux pas choisir d'imprimante, ça part directement
sur l'imprimante par défaut.
Donc j'aimerais pouvoir écrire en vba que je veux prévisualiser toutes
les feuilles. Je voudrais faire plus simple que de récupérer le nom des
feuilles visibles et d'en faire un Array, de le sélectionner puis
d'envoyer avec ActiveWindow.SelectedSheets.PrintPreview
Y a-t-il un syntaxe pour dire
ActiveWindow.ToutesLesFeuilles.PrintPreview et/ou une façon simple et
rapide de sélectionner toutes les feuilles (genre
ActiveWindows.Sheets.All.select) ?
ActiveWindow.Worksheet.PrintPreview ou
ActiveWindow.Worksheets.PrintPreview ne fonctionnent pas et
ActiveWorkbook.PrintPreview n'envoie que la feuille active.
Merci d'avance.
Jac
... donc clairement expliqué :
ma macro affiche toutes les feuilles à imprimer (entre 1 et 5 sur 10, les
autres sont cachées, presque jamais les mêmes combinaisons) selon des valeurs
dans des cellules ou des cases à cocher de ma feuille de saisie /// Ça, ça
tourne sans problème.
je dois sélectionner toutes les feuilles visibles /// C'est ça qui coince
ma macro prévisualise toutes les feuilles sélectionnées au point précédent,
en une seule fois car elles vont peut-être finir en un seul pdf, puis en
sortant de la prévisualisation, la macro cache toutes les feuilles sauf la
feuille de saisie /// Ça, ça tourne sans problème.
Nb : Ce que tu m'as proposé ci-dessous coince sur "Sh.Select False"
Après mûre réflexion, michdenis a écrit :Bonjour,
Pour obtenir ce que tu veux, tu dois d'abord l'exprimer clairement !
Ceci signifie énumérer toutes les actions que la procédure doit faire.
Dans le ThisWorkbook de ton classeur, tu peux écrire ceci :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Object
For Each Sh In ThisWorkbook.Worksheets
Sh.Select False
Next
For Each Sh In ActiveWindow.SelectedSheets
Sh.PrintPreview
Next
End Sub
for each Sh in Activewindow.selectedsheets
"Jac" a écrit dans le message de groupe de discussion :
uwaIyl$
Bonjour à tous,
dans un classeur, selon certains critères, quand je lance l'impression
par macro, je démasque certaines feuilles et je prévisualise toutes les
feuilles visibles avec
ActiveWorkbook.PrintOut Copies:=1, Preview:=True
Mais ensuite, je ne peux pas choisir d'imprimante, ça part directement
sur l'imprimante par défaut.
Donc j'aimerais pouvoir écrire en vba que je veux prévisualiser toutes
les feuilles. Je voudrais faire plus simple que de récupérer le nom des
feuilles visibles et d'en faire un Array, de le sélectionner puis
d'envoyer avec ActiveWindow.SelectedSheets.PrintPreview
Y a-t-il un syntaxe pour dire
ActiveWindow.ToutesLesFeuilles.PrintPreview et/ou une façon simple et
rapide de sélectionner toutes les feuilles (genre
ActiveWindows.Sheets.All.select) ?
ActiveWindow.Worksheet.PrintPreview ou
ActiveWindow.Worksheets.PrintPreview ne fonctionnent pas et
ActiveWorkbook.PrintPreview n'envoie que la feuille active.
Merci d'avance.
Jac
... donc clairement expliqué :
ma macro affiche toutes les feuilles à imprimer (entre 1 et 5 sur 10, les
autres sont cachées, presque jamais les mêmes combinaisons) selon des valeurs
dans des cellules ou des cases à cocher de ma feuille de saisie /// Ça, ça
tourne sans problème.
je dois sélectionner toutes les feuilles visibles /// C'est ça qui coince
ma macro prévisualise toutes les feuilles sélectionnées au point précédent,
en une seule fois car elles vont peut-être finir en un seul pdf, puis en
sortant de la prévisualisation, la macro cache toutes les feuilles sauf la
feuille de saisie /// Ça, ça tourne sans problème.
Nb : Ce que tu m'as proposé ci-dessous coince sur "Sh.Select False"
Après mûre réflexion, michdenis a écrit :
Bonjour,
Pour obtenir ce que tu veux, tu dois d'abord l'exprimer clairement !
Ceci signifie énumérer toutes les actions que la procédure doit faire.
Dans le ThisWorkbook de ton classeur, tu peux écrire ceci :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Object
For Each Sh In ThisWorkbook.Worksheets
Sh.Select False
Next
For Each Sh In ActiveWindow.SelectedSheets
Sh.PrintPreview
Next
End Sub
for each Sh in Activewindow.selectedsheets
"Jac" <jsansp@amfra.net> a écrit dans le message de groupe de discussion :
uwaIyl$9KHA.420@TK2MSFTNGP02.phx.gbl...
Bonjour à tous,
dans un classeur, selon certains critères, quand je lance l'impression
par macro, je démasque certaines feuilles et je prévisualise toutes les
feuilles visibles avec
ActiveWorkbook.PrintOut Copies:=1, Preview:=True
Mais ensuite, je ne peux pas choisir d'imprimante, ça part directement
sur l'imprimante par défaut.
Donc j'aimerais pouvoir écrire en vba que je veux prévisualiser toutes
les feuilles. Je voudrais faire plus simple que de récupérer le nom des
feuilles visibles et d'en faire un Array, de le sélectionner puis
d'envoyer avec ActiveWindow.SelectedSheets.PrintPreview
Y a-t-il un syntaxe pour dire
ActiveWindow.ToutesLesFeuilles.PrintPreview et/ou une façon simple et
rapide de sélectionner toutes les feuilles (genre
ActiveWindows.Sheets.All.select) ?
ActiveWindow.Worksheet.PrintPreview ou
ActiveWindow.Worksheets.PrintPreview ne fonctionnent pas et
ActiveWorkbook.PrintPreview n'envoie que la feuille active.
Merci d'avance.
Jac
... donc clairement expliqué :
ma macro affiche toutes les feuilles à imprimer (entre 1 et 5 sur 10, les
autres sont cachées, presque jamais les mêmes combinaisons) selon des valeurs
dans des cellules ou des cases à cocher de ma feuille de saisie /// Ça, ça
tourne sans problème.
je dois sélectionner toutes les feuilles visibles /// C'est ça qui coince
ma macro prévisualise toutes les feuilles sélectionnées au point précédent,
en une seule fois car elles vont peut-être finir en un seul pdf, puis en
sortant de la prévisualisation, la macro cache toutes les feuilles sauf la
feuille de saisie /// Ça, ça tourne sans problème.
Nb : Ce que tu m'as proposé ci-dessous coince sur "Sh.Select False"
Après mûre réflexion, michdenis a écrit :Bonjour,
Pour obtenir ce que tu veux, tu dois d'abord l'exprimer clairement !
Ceci signifie énumérer toutes les actions que la procédure doit faire.
Dans le ThisWorkbook de ton classeur, tu peux écrire ceci :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Object
For Each Sh In ThisWorkbook.Worksheets
Sh.Select False
Next
For Each Sh In ActiveWindow.SelectedSheets
Sh.PrintPreview
Next
End Sub
for each Sh in Activewindow.selectedsheets
"Jac" a écrit dans le message de groupe de discussion :
uwaIyl$
Bonjour à tous,
dans un classeur, selon certains critères, quand je lance l'impression
par macro, je démasque certaines feuilles et je prévisualise toutes les
feuilles visibles avec
ActiveWorkbook.PrintOut Copies:=1, Preview:=True
Mais ensuite, je ne peux pas choisir d'imprimante, ça part directement
sur l'imprimante par défaut.
Donc j'aimerais pouvoir écrire en vba que je veux prévisualiser toutes
les feuilles. Je voudrais faire plus simple que de récupérer le nom des
feuilles visibles et d'en faire un Array, de le sélectionner puis
d'envoyer avec ActiveWindow.SelectedSheets.PrintPreview
Y a-t-il un syntaxe pour dire
ActiveWindow.ToutesLesFeuilles.PrintPreview et/ou une façon simple et
rapide de sélectionner toutes les feuilles (genre
ActiveWindows.Sheets.All.select) ?
ActiveWindow.Worksheet.PrintPreview ou
ActiveWindow.Worksheets.PrintPreview ne fonctionnent pas et
ActiveWorkbook.PrintPreview n'envoie que la feuille active.
Merci d'avance.
Jac
... donc clairement expliqué :
ma macro affiche toutes les feuilles à imprimer (entre 1 et 5 sur 10, les
autres sont cachées, presque jamais les mêmes combinaisons) selon des valeurs
dans des cellules ou des cases à cocher de ma feuille de saisie /// Ça, ça
tourne sans problème.
je dois sélectionner toutes les feuilles visibles /// C'est ça qui coince
ma macro prévisualise toutes les feuilles sélectionnées au point précédent,
en une seule fois car elles vont peut-être finir en un seul pdf, puis en
sortant de la prévisualisation, la macro cache toutes les feuilles sauf la
feuille de saisie /// Ça, ça tourne sans problème.
Nb : Ce que tu m'as proposé ci-dessous coince sur "Sh.Select False"
Après mûre réflexion, michdenis a écrit :Bonjour,
Pour obtenir ce que tu veux, tu dois d'abord l'exprimer clairement !
Ceci signifie énumérer toutes les actions que la procédure doit faire.
Dans le ThisWorkbook de ton classeur, tu peux écrire ceci :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Object
For Each Sh In ThisWorkbook.Worksheets
Sh.Select False
Next
For Each Sh In ActiveWindow.SelectedSheets
Sh.PrintPreview
Next
End Sub
for each Sh in Activewindow.selectedsheets
"Jac" a écrit dans le message de groupe de discussion :
uwaIyl$
Bonjour à tous,
dans un classeur, selon certains critères, quand je lance l'impression
par macro, je démasque certaines feuilles et je prévisualise toutes les
feuilles visibles avec
ActiveWorkbook.PrintOut Copies:=1, Preview:=True
Mais ensuite, je ne peux pas choisir d'imprimante, ça part directement
sur l'imprimante par défaut.
Donc j'aimerais pouvoir écrire en vba que je veux prévisualiser toutes
les feuilles. Je voudrais faire plus simple que de récupérer le nom des
feuilles visibles et d'en faire un Array, de le sélectionner puis
d'envoyer avec ActiveWindow.SelectedSheets.PrintPreview
Y a-t-il un syntaxe pour dire
ActiveWindow.ToutesLesFeuilles.PrintPreview et/ou une façon simple et
rapide de sélectionner toutes les feuilles (genre
ActiveWindows.Sheets.All.select) ?
ActiveWindow.Worksheet.PrintPreview ou
ActiveWindow.Worksheets.PrintPreview ne fonctionnent pas et
ActiveWorkbook.PrintPreview n'envoie que la feuille active.
Merci d'avance.
Jac
... donc clairement expliqué :
ma macro affiche toutes les feuilles à imprimer (entre 1 et 5 sur 10, les
autres sont cachées, presque jamais les mêmes combinaisons) selon des valeurs
dans des cellules ou des cases à cocher de ma feuille de saisie /// Ça, ça
tourne sans problème.
je dois sélectionner toutes les feuilles visibles /// C'est ça qui coince
ma macro prévisualise toutes les feuilles sélectionnées au point précédent,
en une seule fois car elles vont peut-être finir en un seul pdf, puis en
sortant de la prévisualisation, la macro cache toutes les feuilles sauf la
feuille de saisie /// Ça, ça tourne sans problème.
Nb : Ce que tu m'as proposé ci-dessous coince sur "Sh.Select False"
Après mûre réflexion, michdenis a écrit :
Bonjour,
Pour obtenir ce que tu veux, tu dois d'abord l'exprimer clairement !
Ceci signifie énumérer toutes les actions que la procédure doit faire.
Dans le ThisWorkbook de ton classeur, tu peux écrire ceci :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Object
For Each Sh In ThisWorkbook.Worksheets
Sh.Select False
Next
For Each Sh In ActiveWindow.SelectedSheets
Sh.PrintPreview
Next
End Sub
for each Sh in Activewindow.selectedsheets
"Jac" <jsansp@amfra.net> a écrit dans le message de groupe de discussion :
uwaIyl$9KHA.420@TK2MSFTNGP02.phx.gbl...
Bonjour à tous,
dans un classeur, selon certains critères, quand je lance l'impression
par macro, je démasque certaines feuilles et je prévisualise toutes les
feuilles visibles avec
ActiveWorkbook.PrintOut Copies:=1, Preview:=True
Mais ensuite, je ne peux pas choisir d'imprimante, ça part directement
sur l'imprimante par défaut.
Donc j'aimerais pouvoir écrire en vba que je veux prévisualiser toutes
les feuilles. Je voudrais faire plus simple que de récupérer le nom des
feuilles visibles et d'en faire un Array, de le sélectionner puis
d'envoyer avec ActiveWindow.SelectedSheets.PrintPreview
Y a-t-il un syntaxe pour dire
ActiveWindow.ToutesLesFeuilles.PrintPreview et/ou une façon simple et
rapide de sélectionner toutes les feuilles (genre
ActiveWindows.Sheets.All.select) ?
ActiveWindow.Worksheet.PrintPreview ou
ActiveWindow.Worksheets.PrintPreview ne fonctionnent pas et
ActiveWorkbook.PrintPreview n'envoie que la feuille active.
Merci d'avance.
Jac
... donc clairement expliqué :
ma macro affiche toutes les feuilles à imprimer (entre 1 et 5 sur 10, les
autres sont cachées, presque jamais les mêmes combinaisons) selon des valeurs
dans des cellules ou des cases à cocher de ma feuille de saisie /// Ça, ça
tourne sans problème.
je dois sélectionner toutes les feuilles visibles /// C'est ça qui coince
ma macro prévisualise toutes les feuilles sélectionnées au point précédent,
en une seule fois car elles vont peut-être finir en un seul pdf, puis en
sortant de la prévisualisation, la macro cache toutes les feuilles sauf la
feuille de saisie /// Ça, ça tourne sans problème.
Nb : Ce que tu m'as proposé ci-dessous coince sur "Sh.Select False"
Après mûre réflexion, michdenis a écrit :Bonjour,
Pour obtenir ce que tu veux, tu dois d'abord l'exprimer clairement !
Ceci signifie énumérer toutes les actions que la procédure doit faire.
Dans le ThisWorkbook de ton classeur, tu peux écrire ceci :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Object
For Each Sh In ThisWorkbook.Worksheets
Sh.Select False
Next
For Each Sh In ActiveWindow.SelectedSheets
Sh.PrintPreview
Next
End Sub
for each Sh in Activewindow.selectedsheets
"Jac" a écrit dans le message de groupe de discussion :
uwaIyl$
Bonjour à tous,
dans un classeur, selon certains critères, quand je lance l'impression
par macro, je démasque certaines feuilles et je prévisualise toutes les
feuilles visibles avec
ActiveWorkbook.PrintOut Copies:=1, Preview:=True
Mais ensuite, je ne peux pas choisir d'imprimante, ça part directement
sur l'imprimante par défaut.
Donc j'aimerais pouvoir écrire en vba que je veux prévisualiser toutes
les feuilles. Je voudrais faire plus simple que de récupérer le nom des
feuilles visibles et d'en faire un Array, de le sélectionner puis
d'envoyer avec ActiveWindow.SelectedSheets.PrintPreview
Y a-t-il un syntaxe pour dire
ActiveWindow.ToutesLesFeuilles.PrintPreview et/ou une façon simple et
rapide de sélectionner toutes les feuilles (genre
ActiveWindows.Sheets.All.select) ?
ActiveWindow.Worksheet.PrintPreview ou
ActiveWindow.Worksheets.PrintPreview ne fonctionnent pas et
ActiveWorkbook.PrintPreview n'envoie que la feuille active.
Merci d'avance.
Jac
Sub test()
For Each Sh In Worksheets
If Sh.Visible Then
Sh.Select False
End If
Next
End Sub
"Jac" a écrit dans le message de groupe de discussion :
OuC01zD#
... en fait, ce qui me manque, c'est la transposition en vba de:
clic-droit sur un nom de feuille
puis clic sur Sélectionner toutes les feuilles
car l'enregistreur note en "dur" :
Sheets(Array("Offre", "B38", "B40")).Select
Jac a présenté l'énoncé suivant :... donc clairement expliqué :
ma macro affiche toutes les feuilles à imprimer (entre 1 et 5 sur 10, les
autres sont cachées, presque jamais les mêmes combinaisons) selon des
valeurs dans des cellules ou des cases à cocher de ma feuille de saisie ///
Ça, ça tourne sans problème.
je dois sélectionner toutes les feuilles visibles /// C'est ça qui coince
ma macro prévisualise toutes les feuilles sélectionnées au point précédent,
en une seule fois car elles vont peut-être finir en un seul pdf, puis en
sortant de la prévisualisation, la macro cache toutes les feuilles sauf la
feuille de saisie /// Ça, ça tourne sans problème.
Nb : Ce que tu m'as proposé ci-dessous coince sur "Sh.Select False"
Après mûre réflexion, michdenis a écrit :Bonjour,
Pour obtenir ce que tu veux, tu dois d'abord l'exprimer clairement !
Ceci signifie énumérer toutes les actions que la procédure doit faire.
Dans le ThisWorkbook de ton classeur, tu peux écrire ceci :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Object
For Each Sh In ThisWorkbook.Worksheets
Sh.Select False
Next
For Each Sh In ActiveWindow.SelectedSheets
Sh.PrintPreview
Next
End Sub
for each Sh in Activewindow.selectedsheets
"Jac" a écrit dans le message de groupe de discussion :
uwaIyl$
Bonjour à tous,
dans un classeur, selon certains critères, quand je lance l'impression
par macro, je démasque certaines feuilles et je prévisualise toutes les
feuilles visibles avec
ActiveWorkbook.PrintOut Copies:=1, Preview:=True
Mais ensuite, je ne peux pas choisir d'imprimante, ça part directement
sur l'imprimante par défaut.
Donc j'aimerais pouvoir écrire en vba que je veux prévisualiser toutes
les feuilles. Je voudrais faire plus simple que de récupérer le nom des
feuilles visibles et d'en faire un Array, de le sélectionner puis
d'envoyer avec ActiveWindow.SelectedSheets.PrintPreview
Y a-t-il un syntaxe pour dire
ActiveWindow.ToutesLesFeuilles.PrintPreview et/ou une façon simple et
rapide de sélectionner toutes les feuilles (genre
ActiveWindows.Sheets.All.select) ?
ActiveWindow.Worksheet.PrintPreview ou
ActiveWindow.Worksheets.PrintPreview ne fonctionnent pas et
ActiveWorkbook.PrintPreview n'envoie que la feuille active.
Merci d'avance.
Jac
Sub test()
For Each Sh In Worksheets
If Sh.Visible Then
Sh.Select False
End If
Next
End Sub
"Jac" <jsansp@amfra.net> a écrit dans le message de groupe de discussion :
OuC01zD#KHA.4564@TK2MSFTNGP05.phx.gbl...
... en fait, ce qui me manque, c'est la transposition en vba de:
clic-droit sur un nom de feuille
puis clic sur Sélectionner toutes les feuilles
car l'enregistreur note en "dur" :
Sheets(Array("Offre", "B38", "B40")).Select
Jac a présenté l'énoncé suivant :
... donc clairement expliqué :
ma macro affiche toutes les feuilles à imprimer (entre 1 et 5 sur 10, les
autres sont cachées, presque jamais les mêmes combinaisons) selon des
valeurs dans des cellules ou des cases à cocher de ma feuille de saisie ///
Ça, ça tourne sans problème.
je dois sélectionner toutes les feuilles visibles /// C'est ça qui coince
ma macro prévisualise toutes les feuilles sélectionnées au point précédent,
en une seule fois car elles vont peut-être finir en un seul pdf, puis en
sortant de la prévisualisation, la macro cache toutes les feuilles sauf la
feuille de saisie /// Ça, ça tourne sans problème.
Nb : Ce que tu m'as proposé ci-dessous coince sur "Sh.Select False"
Après mûre réflexion, michdenis a écrit :
Bonjour,
Pour obtenir ce que tu veux, tu dois d'abord l'exprimer clairement !
Ceci signifie énumérer toutes les actions que la procédure doit faire.
Dans le ThisWorkbook de ton classeur, tu peux écrire ceci :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Object
For Each Sh In ThisWorkbook.Worksheets
Sh.Select False
Next
For Each Sh In ActiveWindow.SelectedSheets
Sh.PrintPreview
Next
End Sub
for each Sh in Activewindow.selectedsheets
"Jac" <jsansp@amfra.net> a écrit dans le message de groupe de discussion :
uwaIyl$9KHA.420@TK2MSFTNGP02.phx.gbl...
Bonjour à tous,
dans un classeur, selon certains critères, quand je lance l'impression
par macro, je démasque certaines feuilles et je prévisualise toutes les
feuilles visibles avec
ActiveWorkbook.PrintOut Copies:=1, Preview:=True
Mais ensuite, je ne peux pas choisir d'imprimante, ça part directement
sur l'imprimante par défaut.
Donc j'aimerais pouvoir écrire en vba que je veux prévisualiser toutes
les feuilles. Je voudrais faire plus simple que de récupérer le nom des
feuilles visibles et d'en faire un Array, de le sélectionner puis
d'envoyer avec ActiveWindow.SelectedSheets.PrintPreview
Y a-t-il un syntaxe pour dire
ActiveWindow.ToutesLesFeuilles.PrintPreview et/ou une façon simple et
rapide de sélectionner toutes les feuilles (genre
ActiveWindows.Sheets.All.select) ?
ActiveWindow.Worksheet.PrintPreview ou
ActiveWindow.Worksheets.PrintPreview ne fonctionnent pas et
ActiveWorkbook.PrintPreview n'envoie que la feuille active.
Merci d'avance.
Jac
Sub test()
For Each Sh In Worksheets
If Sh.Visible Then
Sh.Select False
End If
Next
End Sub
"Jac" a écrit dans le message de groupe de discussion :
OuC01zD#
... en fait, ce qui me manque, c'est la transposition en vba de:
clic-droit sur un nom de feuille
puis clic sur Sélectionner toutes les feuilles
car l'enregistreur note en "dur" :
Sheets(Array("Offre", "B38", "B40")).Select
Jac a présenté l'énoncé suivant :... donc clairement expliqué :
ma macro affiche toutes les feuilles à imprimer (entre 1 et 5 sur 10, les
autres sont cachées, presque jamais les mêmes combinaisons) selon des
valeurs dans des cellules ou des cases à cocher de ma feuille de saisie ///
Ça, ça tourne sans problème.
je dois sélectionner toutes les feuilles visibles /// C'est ça qui coince
ma macro prévisualise toutes les feuilles sélectionnées au point précédent,
en une seule fois car elles vont peut-être finir en un seul pdf, puis en
sortant de la prévisualisation, la macro cache toutes les feuilles sauf la
feuille de saisie /// Ça, ça tourne sans problème.
Nb : Ce que tu m'as proposé ci-dessous coince sur "Sh.Select False"
Après mûre réflexion, michdenis a écrit :Bonjour,
Pour obtenir ce que tu veux, tu dois d'abord l'exprimer clairement !
Ceci signifie énumérer toutes les actions que la procédure doit faire.
Dans le ThisWorkbook de ton classeur, tu peux écrire ceci :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Object
For Each Sh In ThisWorkbook.Worksheets
Sh.Select False
Next
For Each Sh In ActiveWindow.SelectedSheets
Sh.PrintPreview
Next
End Sub
for each Sh in Activewindow.selectedsheets
"Jac" a écrit dans le message de groupe de discussion :
uwaIyl$
Bonjour à tous,
dans un classeur, selon certains critères, quand je lance l'impression
par macro, je démasque certaines feuilles et je prévisualise toutes les
feuilles visibles avec
ActiveWorkbook.PrintOut Copies:=1, Preview:=True
Mais ensuite, je ne peux pas choisir d'imprimante, ça part directement
sur l'imprimante par défaut.
Donc j'aimerais pouvoir écrire en vba que je veux prévisualiser toutes
les feuilles. Je voudrais faire plus simple que de récupérer le nom des
feuilles visibles et d'en faire un Array, de le sélectionner puis
d'envoyer avec ActiveWindow.SelectedSheets.PrintPreview
Y a-t-il un syntaxe pour dire
ActiveWindow.ToutesLesFeuilles.PrintPreview et/ou une façon simple et
rapide de sélectionner toutes les feuilles (genre
ActiveWindows.Sheets.All.select) ?
ActiveWindow.Worksheet.PrintPreview ou
ActiveWindow.Worksheets.PrintPreview ne fonctionnent pas et
ActiveWorkbook.PrintPreview n'envoie que la feuille active.
Merci d'avance.
Jac