Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 

campeur

XLDnaute Nouveau
Re : Impression sur imprimante a reçu

Rebonjour
j'ai essayer vos recommandation mais rien a faire l'imprimante ne s'arrete pas a la dernière ligne pleine
je Vous remerci encore une fois pour avoir bien voulu m'aider
Merci @+
 

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


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

campeur

XLDnaute Nouveau
Re : Impression sur imprimante a reçu

Bonjour le Forum
j'ai résoulu mon problème, il falais que j'enleve le Userforme pour le temps d'imprimer
et fair revenir le Userform seulment après avoir fini d'imprimer
Merci @+
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…