OVH Cloud OVH Cloud

impression conditionnelle

6 réponses
Avatar
Laure
Bonjour !

Je vous demande de m'excuser par avance, j'avais déjà posé cette question et
la réponse m'avait été donnée ici-même il y a environ deux mois,
malheureusement un gros plantage machine m'a fait perdre toutes les
informations que j'avais sauvegardées.

J'ai un document qui comporte plusieurs feuilles.
Certaines feuilles ne doivent jamais être imprimées, et parmi les autres je
souhaite n'imprimer que celles dont la valeur de la cellule F58 est
supérieure à zéro.

En fait il s'agit d'une matrice pour faire des devis, et je n'utilise pas
toujours toutes les feuilles. Si le total de la feuille est à zéro (cellule
F58) il ne faut pas l'imprimer.

Pour le moment je n'ai que ça :

Sub PRINTALL()
'
Sheets(Array("COURRIER", "ELECTRICITE", "CLOISON AMOVIBLE", "CLOISON
AMOVIBLE", "FAUX PLAFOND", "REVETEMENT DE SOL", "PEINTURE", "DIVERS 1",
"DIVERS 2", "DIVERS 3", "RECAPITULATIF")).Select
Sheets("RECAPITULATIF").Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("RECAPITULATIF").Select
Range("A1").Select
End Sub

Qui imprime toutes les feuilles "imprimables" sans tenir compte du total de
la feuille.

Par avance merci,

Laure

6 réponses

Avatar
lSteph
Bonsoir,
http://groups.google.fr/group/microsoft.public.fr.excel/search?group=microsoft.public.fr.excel&q=laure&qt_g=1&searchnow=Rechercher+dans+ce+groupe

Cordialement.

lSteph

"Laure" a écrit dans le message de news:

Bonjour !

Je vous demande de m'excuser par avance, j'avais déjà posé cette question
et la réponse m'avait été donnée ici-même il y a environ deux mois,
malheureusement un gros plantage machine m'a fait perdre toutes les
informations que j'avais sauvegardées.

J'ai un document qui comporte plusieurs feuilles.
Certaines feuilles ne doivent jamais être imprimées, et parmi les autres
je souhaite n'imprimer que celles dont la valeur de la cellule F58 est
supérieure à zéro.

En fait il s'agit d'une matrice pour faire des devis, et je n'utilise pas
toujours toutes les feuilles. Si le total de la feuille est à zéro
(cellule F58) il ne faut pas l'imprimer.

Pour le moment je n'ai que ça :

Sub PRINTALL()
'
Sheets(Array("COURRIER", "ELECTRICITE", "CLOISON AMOVIBLE", "CLOISON
AMOVIBLE", "FAUX PLAFOND", "REVETEMENT DE SOL", "PEINTURE", "DIVERS 1",
"DIVERS 2", "DIVERS 3", "RECAPITULATIF")).Select
Sheets("RECAPITULATIF").Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("RECAPITULATIF").Select
Range("A1").Select
End Sub

Qui imprime toutes les feuilles "imprimables" sans tenir compte du total
de la feuille.

Par avance merci,

Laure




Avatar
Laure
Merci lSteph pour cette fonction de recherche que je ne connaissais pas !!!
Et qui me sera certainement encore souvent utile !!

Par contre rien à faire, je n'arrive pas à mettre la main sur ce fichu
fil.... Peut-être avais-je eu l'info ailleurs ? Mais comme je viens
généralement ici en premier...

Bref si quelqu'un peut m'aider...

Grand merci,

Laure

"lSteph" a écrit dans le message de news:

Bonsoir,
http://groups.google.fr/group/microsoft.public.fr.excel/search?group=microsoft.public.fr.excel&q=laure&qt_g=1&searchnow=Rechercher+dans+ce+groupe

Cordialement.

lSteph

"Laure" a écrit dans le message de news:

Bonjour !

Je vous demande de m'excuser par avance, j'avais déjà posé cette question
et la réponse m'avait été donnée ici-même il y a environ deux mois,
malheureusement un gros plantage machine m'a fait perdre toutes les
informations que j'avais sauvegardées.

J'ai un document qui comporte plusieurs feuilles.
Certaines feuilles ne doivent jamais être imprimées, et parmi les autres
je souhaite n'imprimer que celles dont la valeur de la cellule F58 est
supérieure à zéro.

En fait il s'agit d'une matrice pour faire des devis, et je n'utilise pas
toujours toutes les feuilles. Si le total de la feuille est à zéro
(cellule F58) il ne faut pas l'imprimer.

Pour le moment je n'ai que ça :

Sub PRINTALL()
'
Sheets(Array("COURRIER", "ELECTRICITE", "CLOISON AMOVIBLE", "CLOISON
AMOVIBLE", "FAUX PLAFOND", "REVETEMENT DE SOL", "PEINTURE", "DIVERS 1",
"DIVERS 2", "DIVERS 3", "RECAPITULATIF")).Select
Sheets("RECAPITULATIF").Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("RECAPITULATIF").Select
Range("A1").Select
End Sub

Qui imprime toutes les feuilles "imprimables" sans tenir compte du total
de la feuille.

Par avance merci,

Laure








Avatar
lSteph
... alors un truc du style:

Sub test()
Dim sh as worksheet
Sheets(Array("COURRIER", "ELECTRICITE")).Select
For Each sh In ThisWorkbook.Windows(1).SelectedSheets
If sh.[f58] > 0 Then sh.PrintOut
Next
End Sub


'lSteph

"Laure" a écrit dans le message de news:

Bonjour !

Je vous demande de m'excuser par avance, j'avais déjà posé cette question
et la réponse m'avait été donnée ici-même il y a environ deux mois,
malheureusement un gros plantage machine m'a fait perdre toutes les
informations que j'avais sauvegardées.

J'ai un document qui comporte plusieurs feuilles.
Certaines feuilles ne doivent jamais être imprimées, et parmi les autres
je souhaite n'imprimer que celles dont la valeur de la cellule F58 est
supérieure à zéro.

En fait il s'agit d'une matrice pour faire des devis, et je n'utilise pas
toujours toutes les feuilles. Si le total de la feuille est à zéro
(cellule F58) il ne faut pas l'imprimer.

Pour le moment je n'ai que ça :

Sub PRINTALL()
'
Sheets(Array("COURRIER", "ELECTRICITE", "CLOISON AMOVIBLE", "CLOISON
AMOVIBLE", "FAUX PLAFOND", "REVETEMENT DE SOL", "PEINTURE", "DIVERS 1",
"DIVERS 2", "DIVERS 3", "RECAPITULATIF")).Select
Sheets("RECAPITULATIF").Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("RECAPITULATIF").Select
Range("A1").Select
End Sub

Qui imprime toutes les feuilles "imprimables" sans tenir compte du total
de la feuille.

Par avance merci,

Laure




Avatar
Laure
Merci !!
Je vais essayer ça...:-)

Douce nuit,

Laure

"lSteph" a écrit dans le message de news:
u%
... alors un truc du style:

Sub test()
Dim sh as worksheet
Sheets(Array("COURRIER", "ELECTRICITE")).Select
For Each sh In ThisWorkbook.Windows(1).SelectedSheets
If sh.[f58] > 0 Then sh.PrintOut
Next
End Sub


'lSteph

"Laure" a écrit dans le message de news:

Bonjour !

Je vous demande de m'excuser par avance, j'avais déjà posé cette question
et la réponse m'avait été donnée ici-même il y a environ deux mois,
malheureusement un gros plantage machine m'a fait perdre toutes les
informations que j'avais sauvegardées.

J'ai un document qui comporte plusieurs feuilles.
Certaines feuilles ne doivent jamais être imprimées, et parmi les autres
je souhaite n'imprimer que celles dont la valeur de la cellule F58 est
supérieure à zéro.

En fait il s'agit d'une matrice pour faire des devis, et je n'utilise pas
toujours toutes les feuilles. Si le total de la feuille est à zéro
(cellule F58) il ne faut pas l'imprimer.

Pour le moment je n'ai que ça :

Sub PRINTALL()
'
Sheets(Array("COURRIER", "ELECTRICITE", "CLOISON AMOVIBLE", "CLOISON
AMOVIBLE", "FAUX PLAFOND", "REVETEMENT DE SOL", "PEINTURE", "DIVERS 1",
"DIVERS 2", "DIVERS 3", "RECAPITULATIF")).Select
Sheets("RECAPITULATIF").Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("RECAPITULATIF").Select
Range("A1").Select
End Sub

Qui imprime toutes les feuilles "imprimables" sans tenir compte du total
de la feuille.

Par avance merci,

Laure








Avatar
Laure
Bon ça fonctionne en impression papier...
Mais en fait si j'ai bien compris, la macro cherche la valeur de F58, puis
imprime ou non, puis passe à la feuille suivante, recherche F58, imprime ou
non...
C'est transparent en impression papier, par contre quand je veux imprimer en
PDF, du coup ça me crée un fichier par feuille...
Il y a moyen de contourner ça ? Et d'obtenir une impression PDF en un seul
fichier ?

Merci d'avance,
Cordialement,
Laure


"lSteph" a écrit dans le message de news:
u%
... alors un truc du style:

Sub test()
Dim sh as worksheet
Sheets(Array("COURRIER", "ELECTRICITE")).Select
For Each sh In ThisWorkbook.Windows(1).SelectedSheets
If sh.[f58] > 0 Then sh.PrintOut
Next
End Sub


'lSteph

"Laure" a écrit dans le message de news:

Bonjour !

Je vous demande de m'excuser par avance, j'avais déjà posé cette question
et la réponse m'avait été donnée ici-même il y a environ deux mois,
malheureusement un gros plantage machine m'a fait perdre toutes les
informations que j'avais sauvegardées.

J'ai un document qui comporte plusieurs feuilles.
Certaines feuilles ne doivent jamais être imprimées, et parmi les autres
je souhaite n'imprimer que celles dont la valeur de la cellule F58 est
supérieure à zéro.

En fait il s'agit d'une matrice pour faire des devis, et je n'utilise pas
toujours toutes les feuilles. Si le total de la feuille est à zéro
(cellule F58) il ne faut pas l'imprimer.

Pour le moment je n'ai que ça :

Sub PRINTALL()
'
Sheets(Array("COURRIER", "ELECTRICITE", "CLOISON AMOVIBLE", "CLOISON
AMOVIBLE", "FAUX PLAFOND", "REVETEMENT DE SOL", "PEINTURE", "DIVERS 1",
"DIVERS 2", "DIVERS 3", "RECAPITULATIF")).Select
Sheets("RECAPITULATIF").Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("RECAPITULATIF").Select
Range("A1").Select
End Sub

Qui imprime toutes les feuilles "imprimables" sans tenir compte du total
de la feuille.

Par avance merci,

Laure








Avatar
lSteph
Bonsoir,

...après c'est de l'Adobe!

Cordialement.

lSteph
"Laure" a écrit dans le message de news:

Bon ça fonctionne en impression papier...
Mais en fait si j'ai bien compris, la macro cherche la valeur de F58, puis
imprime ou non, puis passe à la feuille suivante, recherche F58, imprime
ou non...
C'est transparent en impression papier, par contre quand je veux imprimer
en PDF, du coup ça me crée un fichier par feuille...
Il y a moyen de contourner ça ? Et d'obtenir une impression PDF en un seul
fichier ?

Merci d'avance,
Cordialement,
Laure


"lSteph" a écrit dans le message de news:
u%
... alors un truc du style:

Sub test()
Dim sh as worksheet
Sheets(Array("COURRIER", "ELECTRICITE")).Select
For Each sh In ThisWorkbook.Windows(1).SelectedSheets
If sh.[f58] > 0 Then sh.PrintOut
Next
End Sub


'lSteph

"Laure" a écrit dans le message de news:

Bonjour !

Je vous demande de m'excuser par avance, j'avais déjà posé cette
question et la réponse m'avait été donnée ici-même il y a environ deux
mois, malheureusement un gros plantage machine m'a fait perdre toutes
les informations que j'avais sauvegardées.

J'ai un document qui comporte plusieurs feuilles.
Certaines feuilles ne doivent jamais être imprimées, et parmi les autres
je souhaite n'imprimer que celles dont la valeur de la cellule F58 est
supérieure à zéro.

En fait il s'agit d'une matrice pour faire des devis, et je n'utilise
pas toujours toutes les feuilles. Si le total de la feuille est à zéro
(cellule F58) il ne faut pas l'imprimer.

Pour le moment je n'ai que ça :

Sub PRINTALL()
'
Sheets(Array("COURRIER", "ELECTRICITE", "CLOISON AMOVIBLE", "CLOISON
AMOVIBLE", "FAUX PLAFOND", "REVETEMENT DE SOL", "PEINTURE", "DIVERS 1",
"DIVERS 2", "DIVERS 3", "RECAPITULATIF")).Select
Sheets("RECAPITULATIF").Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("RECAPITULATIF").Select
Range("A1").Select
End Sub

Qui imprime toutes les feuilles "imprimables" sans tenir compte du total
de la feuille.

Par avance merci,

Laure