Passer au contenu

Comment déterminer la définition graphique utilisée ?

Solution : en exécutant une macro dès l’ouverture d’un document.

Un des points faibles des automatisations réalisées par les débutants en programmation VBA réside dans l’absence totale de gestion de la résolution graphique. Dès lors, des fenêtres de dialogue conçues pour un affichage 800 x 600 points deviennent inutilisables en 640 x 480 points. Pour réduire ou agrandir automatiquement une telle fenêtre en fonction de la définition de l’écran, il faut interroger l’objet System de classe Application. Cet objet est uniquement disponible en VBA sous Word. En effet, avec Excel, cette information est délivrée par une fonction API de Windows. Pour que la procédure soit efficace, elle doit être intégrée dans une macro automatique de type AutoOpen qui s’exécute dès l’ouverture du document. Dès que vous connaissez la résolution, il suffit de mettre à l’échelle le contenu et les dimensions de la fenêtre de dialogue : soit les propriétés Zoom, Width et Height de l’objet Userform.Listing :
‘ Variables globales à mettre dans les
‘ déclarations d’un document ou d’un module
Dim ResHorizon, ResVertical As Integer


Sub AutoOpen()
ResHorizon = Application.System.HorizontalResolution
ResVertical = Application.System.VerticalResolution
MsgBox (ResHorizon & “x” & ResVertical & ” points”)
End Sub

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Filigrane Press