Code VBA pour imprimer en R/V suivant le nombre de lignes

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

8 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
    0
  2. MO
     
    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.
    0
  3. MO
     
    merci
    mais malheureusement j'ai déjà regardé, et je n'ai pas réussi avec ces informations.
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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.
    0
  6. MO
     
    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
    0
  7. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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.
    0
  8. MO
     
    Parce que je ne veux pas avoir une ligne toute seule derrière
    0