Définir automatiquement une Zone d'impression

Hello,

Sur une feuille excel, je voudrais crée une zone d'impression dynamique,

Je connais le nombre de colone (H) mais le nombre de ligne est variable,

je voudrais crée la zone d'impression par rapport a la dérnière ligne remplie.

Je ne vois pas ou mettre cette information.

Merci de votre aide précieuse.

Amicalement

Didier

Bonjour à tous,

Sub Zone_imprime()
Dim DerLig As Long
    DerLig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
    ActiveSheet.PageSetup.PrintArea = "A1:h" & DerLig
End Sub

Claude.

Re,

Merci pour la rapidité,

Mais ca ne fonctionne pas, pourquoi?

1) Cette macro je doit la mettre dans un module, ou directement dans la feuille (Microsoft Excel objet)

2) comment appeler cette macro, elle s'appel automatiquement lors d'un apercu avant impression?

Merci beaucoup

Didier

Bonjour Gepetto3 et le forum,

Tu mets la macro dans un module et tu l’affecte à un bouton.

Cdlt,

.

re,

Mais ca ne fonctionne pas, pourquoi?

Tu demande de définir une zone d'impression dynamique, c'est ce que fait mon code.

Ce n'est pas une macro pour imprimer !

Précise ta demande et le titre du sujet, combien de lignes à imprimer, faut-il programmer des sauts de pages ? etc...

Claude.

Hello,

Merci de vos réponse rapide,

Effectivement je n'ai pas été très clair dans ma demande,... Je vais donc reformuler tout ca. et vous mettre un fichier joint, ca sera ainsi plus simple.

https://www.excel-pratique.com/~files/doc/Gepetto_Zone_d_impression1.xls

Je désire que quand j'imprime y me crée une zone d'impression de la collone "H" jusqu'a la dernière ligne remplie.

A voir comment c'est possible de le faire?

Il faudrait si possible reprendre au début de chaque nouvelle page les cellules "A2-H5"

Avec mes excuse de ma non clareté

Amicalement Didier

Bonjour à tous,

Didier, avec tes formules en colonne A, ma macro ne va pas,

En fait tu demande de faire la mise en page, titres, sauts de pages etc...

avec un bouton "Imprimer" qui gère tout çà ?

Je regarde

Claude.

re,

https://www.excel-pratique.com/~files/doc/Impression2.xls

Sub Imprime() 'toutes les 52 lignes (à régler)
Dim N As Long
Dim I As Integer, Rep As Integer
    With ActiveSheet
            With ActiveSheet.PageSetup
                .PrintTitleRows = "$2:$5"
            End With
            N = .Range("b65536").End(xlUp).Row
        .ResetAllPageBreaks 'efface sauts de pages existants
        .PageSetup.PrintArea = "A2:h" & N
            For I = 1 To N / 52
                .HPageBreaks.Add Before:=Rows(I * 52 + 2)
            Next I
        Rep = MsgBox("On imprime ?", vbYesNo + vbCritical + vbDefaultButton2, "Impression")
        If Rep = vbYes Then
        .PrintOut
        End If
    End With
End Sub

édit: je n'ai pas traité les marges, tu les règle à part, çà ne bougera pas !

Claude.

Hello,

Ca marche super bien, faudrai juste que je puisse choisir quel imprimante utiliser.

Je dois changer quoi?

Merci de ton aide

Didier

PS: y a t'il une moyen de le faire sans macro, et en utilisant l'icone imprimer d'office? ce n'est juste qu'une question?

re,

Comprends pas trop ta question !

La macro marche avec l'imprimante branchée,

Maintenant sans macro, il faudra définir la zone à chaque fois,

à moins que tu sois toujours sur une seule page.

Claude.

re,

J'ai 2 imprimante branchée sur le réseau, et aurai voulu pouvoir la choisir, comme on peu le faire sous windows,... y a t'il un moyen?

Ok sans macro, c'est comme je le fait maintenant, je défini a chaque fois ma zone d'impression.

Merci beaucoup.

Didier

Bonjour,

Il y a surement moyen de choisir l'impimante, mais je sais pas faire !

essaye d'ouvrir un nouveau Post : "Sélectionner une imprimante"

Claude.

Bonjour à tous,

Didier, n'oublie pas la petite formalité !

XCLm7resolu

Claude.

Oup's j'avais oublier,

voila c'est fait

Merci encore pour ces infos.

Bonne journée

Didier

Rechercher des sujets similaires à "definir automatiquement zone impression"