Zone imprim dans 3 pages

Résolu
surplus Messages postés 673 Date d'inscription   Statut Membre Dernière intervention   -  
surplus Messages postés 673 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai un soucis avec un fichier de 3 feuilles avec le même nombre de colonnes a imprimer
colonnes de "A1" à "O" dont la longueur en lignes varie sur chaque feuille évidement si non ce serait trop simple lol
Je voudrais mettre un bouton sur chaque feuille pour imprimer
doit on faire une macro pour chaque feuille?
comment déterminer la dernière ligne a imprimer ?
je sais faire par rapport a une colonne mais pas sur plusieurs
merci de votre aide
surplus
A voir également:

3 réponses

Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 354
 
Je n'ai pas tout compris ...
Mais je te rappelle qu'il existe les Affichages personnalisés !
Tu sélectionnes la première page, tu fais Définir la zone d'impression et tu crées un affichage personnalisé que tu appelles Page1
Tu recommences avec les 2 autres pages.
Il te suffira ensuite d'ouvrir l'un des affichages personnalisés, y compris d'ailleurs le tableau complet avec les 4 pages.
Et même si tu modifies des données, il n'est pas nécessaire de modifier les affichages personnalisés.
0
surplus Messages postés 673 Date d'inscription   Statut Membre Dernière intervention   4
 
bonjour
mon problème c est que la liste change au fur et a mesure des mises a jour
en fait il me faut trouver la dernière ligne a imprimer
les affichages personnalisés cela revient a definir 3 zones d'impression?
merci
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Bonjour,

doit on faire une macro pour chaque feuille?

Si la macro associée au bouton est dans un module elle fonctionne pour toutes les feuilles.

comment déterminer la dernière ligne a imprimer ?

Avec ce code, tu as la dernière ligne de chaque feuille :
Public Sub test()
Dim lig As Long, mxl As Long, col As Integer
With ActiveSheet
For col = 1 To 15
lig = .Cells(.Rows.Count, col).End(xlUp).Row
If mxl < lig Then mxl = lig
Next col
End With
MsgBox mxl
End Sub
0
surplus Messages postés 673 Date d'inscription   Statut Membre Dernière intervention   4
 
bonjour
c'est cool
merci de votre aide et de vos précisions
a bientot
0