Impression sur imprimante a reçu

campeur

XLDnaute Nouveau
Bonjour le Forum

J'ai une imprimante a reçu (ELM 265/267 sur port LPT1)
voici comment je l'ai programer

Dim Nom, Nom1 As String
Nom = Application.ActivePrinter
For aa = 0 To 9
Nom1 = "ELM 265/267 sur LPT" & aa & ":"
On Error Resume Next
Application.ActivePrinter = Nom1
If ActivePrinter = Nom1 Then Exit For
Next

With Sheets("Mire")
.PageSetup.Orientation = xlPortrait
End With
FirstPageNumber = xlAutomatic
Order = xlDownThenOver
FitToPagesWide = 1

ActiveSheet.PageSetup.PrintArea = Range("X1:AA" & Range("X65536").End (xlUp).Row).Address ' Nomme la Plage a imprimer

ActiveSheet.PrintOut
Application.ActivePrinter = Nom

Elle fontionne tres bien mais elle n'arrète pas a la dernière ligne pleine
Les lignes que je doit imprimer s'ont toujour changante de 8 a 15 linges
j'aimerais qu'elle arrète d'imprimer a la ligne pleine pour ne pas gaspiller du papier

par default j'ai nommer page A3 pour l'imprimante


si quelqun a une solution sa serais très aprécier

Merci beaucoup @+
 

noviceAG

XLDnaute Impliqué
Re : Impression sur imprimante a reçu

Bonsoir campeur, le Forum,

J'ai retrouvé ce code dans mes archives qu'il te faudra certainement adapter à tes besoins réels :

Zone d'impression variable

Private Sub ZonImpVar_Click()
'Merci à Philipp et et Kim
Dim DerLig As Integer
Dim DerCol As Integer
DerLig = Range("B65536").End(xlUp).Row
DerCol = Range("IV2").End(xlToLeft).Column
ActiveSheet.PageSetup.PrintArea = Range(Cells(8, 13), Cells(DerLig, DerCol)).Address 'Ligne 8 Colonne M
ActiveWindow.View = xlPageBreakPreview
'Si tu veux que le macro imprime directement, enlène le signe devant la ligne ci-dessous
'ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub
 

campeur

XLDnaute Nouveau
Re : Impression sur imprimante a reçu

Bonjour noviceAG, le forum,

Merci pour la réponce rapide

J'ai essayer votre formule, elle fonctionne tres bien , mais elle ne s'arrète pas a la derniere ligne pleine, ca na rien changer

une petite question comment je fait pour ramener ma page sur le Zoom original

merci @+
 

Hulk

XLDnaute Barbatruc
Re : Impression sur imprimante a reçu

Hello,

Après tout ce que j'ai pu voir, apparemment pas possible (sous réserve).

Je ne sais pas si combiné à ton code ça jouera, mais ce que tu peux faire, c'est d'abord sélectionner (avec la souris) la plage que tu souhaîtes imprimer et l'imprimer ensuite...

Si tu es d'accord, tu choutes les lignes
Code:
[COLOR="Red"][B]ActiveSheet.PageSetup.PrintAera = Range("X1:AA" & Range("X65536").End (xlUp).Row).Address[/B][/COLOR]

et le

[COLOR="red"][B]Activesheet.PrintOut[/B][/COLOR]
Puis tu mets juste cette ligne à la place
Code:
    [COLOR="Green"][B]Selection.PrintOut Copies:=1, Collate:=True[/B][/COLOR]
Donc tu sélectionnes avec ta souris la plage que tu veux imprimer.
 

noviceAG

XLDnaute Impliqué
Re : Impression sur imprimante a reçu

Re, bonsoir Hulk,
je viens de trouver ceci, mais mes connaissances ne me permettent pas de t'aider davantage. Désolé.

Sub ZoneImprimVariable() '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
 

noviceAG

XLDnaute Impliqué
Re : Impression sur imprimante a reçu

Je viens encore de trouver ceci :

Zone variable dans Excel
Pour donner un nom à une plage de cellules sur la feuille sélectionner :

If TypeName(Selection) = "Range" Then
Selection.Name = Selection.Parent.Name & "!" & "LeNomDeLaPlageNommé"
End If

'Ou plus prudent :

Sub Nommer()
§ If TypeName(Selection) = "Range" Then _
§ ActiveWorkbook.Names.Add Name:="FENGTS", RefersTo:=Selection
End Sub

ActiveWorkbook.Names.Add Name:="FENGTS", RefersTo:=Selection
'crée un nom défini au niveau du Workbook


Syntaxe pour une sélection de cellules variable
Dim i As Integer
i = 3
Range("A" & i & ":M" & i).Select

En espérant que ca te sera utile.
 

noviceAG

XLDnaute Impliqué
Re : Impression sur imprimante a reçu

Bonsoir campeur, le Forum,

Private Sub ZonImpVar_Click()
'Merci à Philipp et et Kim
Dim DerLig As Integer
Dim DerCol As Integer
DerLig = Range("B65536").End(xlUp).Row
DerCol = Range("IV2").End(xlToLeft).Column
ActiveSheet.PageSetup.PrintArea = Range(Cells(8, 13), Cells(DerLig, DerCol)).Address 'Ligne 8 Colonne M
ActiveWindow.View = xlPageBreakPreview
'Si tu veux que le macro imprime directement, enlène le signe devant la ligne ci-dessous
'ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub

Je viens de refaire des essais (office 2003) en jonglant avec ligne-colonne, la zone s'adapte exactement à la demande.
Au plaisir
 

Statistiques des forums

Discussions
312 438
Messages
2 088 417
Membres
103 847
dernier inscrit
Girardon