Bonjour,

Pour récupérer les formats de papier disponibles pour chaque imprimante de mon pc j'utilise la fonction "PaperSizesSupported" dans le code suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub formatpapier()
 
WQL = "Select * From Win32_Printer"
Set objinst = GetObject("winmgmts:").ExecQuery(WQL)
 
For Each obj In objinst
    k = k + 1
    j = 1
    'Nom de l'imprimante
    Cells(1, k) = obj.Name
 
    'Formats papier
    For i = 1 To UBound(obj.PaperSizesSupported)
        j = j + 1
 
        Cells(j, k) = obj.PaperSizesSupported(i)
    Next
 
Next
 
End Sub
les formats retournés par la fonction sont:
22, 23, 1, 54, 7, 8, 1, 1, 1, 1, 55, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1

Le problème est que la majorité des formats retournés est "1", ce qui correspond à "Other".

Est-ce que vous avez une idée pourquoi les formats sont "1", et pourquoi la macro ne détecte pas la totalité des formats correctement?

Merci pour votre aide