Code VBA pour imprimer en R/V suivant le nombre de lignes
MO
-
MO -
MO -
Bonjour,
Je recherche créer un classeur sous Excel, ou des lignes pourront être ajoutées.
Pour cela je souhaite créer une macro :
- qui imprime sur une seule page si le classeur contient un certain nombre de lignes
- qui imprime en recto/verso si le classeur contient plus de lignes que le nombre définit.
Merci
Je recherche créer un classeur sous Excel, ou des lignes pourront être ajoutées.
Pour cela je souhaite créer une macro :
- qui imprime sur une seule page si le classeur contient un certain nombre de lignes
- qui imprime en recto/verso si le classeur contient plus de lignes que le nombre définit.
Merci
8 réponses
-
Bonjour,
Qu'est-ce qui pose problème ? Et qu'est-ce que tu veux au juste ?
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau -
Merci de votre réponse.
Mon problème c'est que je ne sais pas faire une fonction conditionnel suivant le nombre de lignes qui me permettrais de régler automatiquement le caractère recto/verso ou non de mon document. -
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Même avec ça :
Q. Comment afficher les propriétés des imprimantes installées ?
Sub proprietesImprimantes() Dim objWMIService As Object, colItems As Object Dim objItem As Object Dim strComputer As String Dim i As Byte On Error Resume Next strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = _ objWMIService.ExecQuery("Select * from Win32_PrinterConfiguration", , 48) For Each objItem In colItems i = i + 1 Cells(1, i) = "BitsPerPel: " & objItem.BitsPerPel Cells(2, i) = "Caption: " & objItem.Caption Cells(3, i) = "Collate: " & objItem.Collate Cells(4, i) = "Color: " & objItem.Color Cells(5, i) = "Copies: " & objItem.Copies Cells(6, i) = "Description: " & objItem.Description Cells(7, i) = "DeviceName: " & objItem.DeviceName Cells(8, i) = "DisplayFlags: " & objItem.DisplayFlags Cells(9, i) = "DisplayFrequency: " & objItem.DisplayFrequency Cells(10, i) = "DitherType: " & objItem.DitherType Cells(11, i) = "DriverVersion: " & objItem.DriverVersion Cells(12, i) = "Duplex: " & objItem.Duplex Cells(13, i) = "FormName: " & objItem.FormName Cells(14, i) = "HorizontalResolution: " & objItem.HorizontalResolution Cells(15, i) = "ICMIntent: " & objItem.ICMIntent Cells(16, i) = "ICMMethod: " & objItem.ICMMethod Cells(17, i) = "LogPixels: " & objItem.LogPixels Cells(18, i) = "MediaType: " & objItem.MediaType Cells(19, i) = "Name: " & objItem.Name Cells(20, i) = "Orientation: " & objItem.Orientation Cells(21, i) = "PaperLength: " & objItem.PaperLength Cells(22, i) = "PaperSize: " & objItem.PaperSize Cells(23, i) = "PaperWidth: " & objItem.PaperWidth Cells(24, i) = "PelsHeight: " & objItem.PelsHeight Cells(25, i) = "PelsWidth: " & objItem.PelsWidth Cells(26, i) = "PrintQuality: " & objItem.PrintQuality Cells(27, i) = "Scale: " & objItem.Scale Cells(28, i) = "SettingID: " & objItem.SettingID Cells(29, i) = "SpecificationVersion: " & objItem.SpecificationVersion Cells(30, i) = "TTOption: " & objItem.TTOption Cells(31, i) = "VerticalResolution: " & objItem.VerticalResolution Cells(32, i) = "XResolution: " & objItem.XResolution Cells(33, i) = "YResolution: " & objItem.YResolution Columns(i).AutoFit Next End Sub
Chaque imprimante possède son propre setup. Tu peux peut être essayer de récupérer les propriétés de l'imprimante que tu veux utiliser.
-
Effectivement j'ai appris que la mise en recto/verso se fait par la fonction
pr.Duplex = vbPRDPVertical ou horizontal
mais je ne sais pas comment intégrer ma fonction "si" suivant le nombre de lignes de la zone d'impression que j'ai defini -
Je ne comprends pas pourquoi où est le soucis ... Excel gère tout seul les pages ... Si tu n'as qu'une page, il n'imprimera qu'une page et si tu as plusieurs pages, si la propriété recto/verso est activée, l'impression se fera toute seule.
-