Macro pour imprimer tout sauf pages vides

Fermé
playa - 24 janv. 2013 à 15:23
 playa - 28 janv. 2013 à 09:40
Bonjour,

Je recherche une macro qui me permettrai d'imprimer uniquement les pages remplies, je m'explique.

J'ai une fichier excel sur le lequel j'ai des filtres, des sauts de pages et "une ligne à répéter en haut" dans la mise en page ; mon problème est que je me retrouve avec des pages vides hors mis la ligne à répéter en haut.

Je voudrais trouver une macro qui n'imprime que les pages "remplies".

Est-ce possible ???

Si oui, merci de votre aide et si ma demande n'est pas claire n'hésitez pas à me demander un éclaircissement...

A plus
A voir également:

3 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 215
Modifié par eriiic le 24/01/2013 à 15:36
Bonjour,

Pourquoi une macro ?
Définir une zone d'impression est fait pour ça non ?

Sinon fournir un fichier exemple avec le modop à suivre qui génère le pb.
Déposer le fichier xls (réduit au nécessaire et anonymisé) sur cjoint.com et coller ici le lien fourni.

eric

Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
0
Hello,

En effet "définir la zone d'impression" pourrait être la solution mais je cherchais plutôt le moyen de le faire de façon automatisé. Le classeur contient une douzaine d'onglet qui s'actualisent quotidiennement et du fait des filtres les zones d'impressions peuvent changer régulièrement...

Je ne peux malheureusement pas joindre le fichier confidentiel et si je retire les chiffres, les filtres ne fonctionnent plus.

Pour tenter d'être plus claire, je recherche à ne pas imprimer la ligne à répéter en haut des pages vides...

A plus
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 215
25 janv. 2013 à 14:16
Bonjour,

je recherche à ne pas imprimer la ligne à répéter en haut des pages vides...
Donc redéfinir la zone d'impression...
Par macro éventuellement mais il n'y a que toi qui sait ce qui doit être imprimé.
2 exemples :
' zone d'impression sur plage fixe B$4:$F$24
ActiveSheet.PageSetup.PrintArea = "$B$4:$F$24"

' zone d'impression de la cellule B3 à la dernière cellule occupée de la colonne E
ActiveSheet.PageSetup.PrintArea = [B3].Resize(Cells(Rows.Count, "E").End(xlUp).Row - 2, 4).Address

Mais tu as des plages vides au milieu tu n'y arriveras pas facilement, c'est très complexe.

eric
0
Bonjour,

Merci Errric pour ta solution ; malheureusement, et comme tu m'avais prévenu, ce n'est pas simple. D'autant plus que les zones d'impression changeront régulièrement.....

Je pense qu'il n'y a pas de solution automatique ; je ferai donc la sélection de zone d'impression à chaque besoin d'impression.

Pour les autres personnes du forum, je confirme que la proposition d'errric fonctionne très bien !!!

Bonne journée à tous
0