IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Recuperer la resolution d'ecran [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 168
    Par défaut Recuperer la resolution d'ecran
    Je cherche à récuperer la resolution de l'ecran sur lequel tourne le programme que je suis en train de concevoir.

    Je pensait utilisé les propriuétés .Width et .Height associé à l'objet Screen comme en VB, mais à la compilation VBA me repond "Objet requis".

    Si quelqu'un savait commenet faire cela m'aiderai...


    Chipss

  2. #2
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 166
    Billets dans le blog
    2
    Par défaut
    Bonjour Chipss,

    à tester

    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
    Dim HP As Long, VP As Long, BPP As Long
    Private Declare Function GetDC Lib "User32" _
      (ByVal hWnd As Long) As Long
    Private Declare Function GetDeviceCaps Lib "Gdi32" _
      (ByVal hdc As Long, ByVal nIndex As Long) As Long
    Private Declare Function ReleaseDC Lib "User32" _
      (ByVal hWnd As Long, ByVal hdc As Long) As Long
    Private Sub LireRes(Optional HorzPix, Optional VertPix, _
      Optional BitsPerPel)
      Dim DC As Long
      DC = GetDC(0)
      HorzPix = GetDeviceCaps(DC, 8)
      VertPix = GetDeviceCaps(DC, 10)
      BitsPerPel = GetDeviceCaps(DC, 12)
      ReleaseDC 0, DC
    End Sub
    Sub AfficheRes()
        LireRes HP, VP, BPP
        MsgBox HP & "x" & VP & " couleurs " & BPP & " bits"
    End Sub
    Lance AfficheRes pour voir les résultats

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Par défaut
    salut tototiti2008

    Evite de passer par Amsterdam, si tu veux te rendre à Alger.

    tout simplement :
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    Private Type DEVMODE
        dmDeviceName As String * 32
        dmSpecVersion As Integer
        dmDriverVersion As Integer
        dmSize As Integer
        dmDriverExtra As Integer
        dmFields As Long
        dmOrientation As Integer
        dmPaperSize As Integer
        dmPaperLength As Integer
        dmPaperWidth As Integer
        dmScale As Integer
        dmCopies As Integer
        dmDefaultSource As Integer
        dmPrintQuality As Integer
        dmColor As Integer
        dmDuplex As Integer
        dmYResolution As Integer
        dmTTOption As Integer
        dmCollate As Integer
        dmFormName As String * 32
        dmUnusedPadding As Integer
        dmBitsPerPel As Integer
        dmPelsWidth As Long
        dmPelsHeight As Long
        dmDisplayFlags As Long
        dmDisplayFrequency As Long
    End Type
    Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean
     
    Private Sub Commandbutton1_Click()
       Dim DevM As DEVMODE
       Call EnumDisplaySettings(0&, -1&, DevM)
       MsgBox "ton écran a une rtésolution de " & DevM.dmPelsWidth & " pixels" & " par " & DevM.dmPelsHeight & " pixels"
    End Sub

  4. #4
    Membre éclairé
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Par défaut
    Evite de passer par Amsterdam, si tu veux te rendre à Alger.
    Et si on part de scandinavie, n'est pas ce le chemin le plus court? °_°

  5. #5
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 168
    Par défaut
    Lol tres bon la repartie EvaristeGaloisBis

    Bref la solution de babothe semble marcher Un leger probleme au niveau de la barre demarrer mais je vais m'en occuper.

    J'aurais eventuellement une deuxieme question:
    Est ce que vous savez quelle propriété est utiliser pour placer une fenetre à l'endroit souhaité, par exemple dans le coin gauche?

    Merci en tout cas pour cette premiere reponse

    Chipss

  6. #6
    Membre éclairé
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Par défaut
    a tout hasard la propriété Left? et Top? Non?

  7. #7
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    J'ai un vol direct pour Alger...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
     
    Sub AfficherResolution()
    MsgBox "La résolution de votre écran est de " & GetSystemMetrics(0) & " x " & GetSystemMetrics(1)
    End Sub

  8. #8
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 168
    Par défaut
    Ah encore mieux Ca m'evite d'avoir a definir un type

    Merci à vous 3!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. recuperer la resolution de l'ecran du client
    Par majed300 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 16/06/2009, 22h43
  2. [C#][1.1] Comment récupérer la résolution de l'écran ?
    Par gwadakillah dans le forum ASP.NET
    Réponses: 6
    Dernier message: 17/11/2006, 09h01
  3. Résolution d'écran sous Xfree
    Par YéTeeh dans le forum Applications et environnements graphiques
    Réponses: 6
    Dernier message: 30/08/2005, 13h33
  4. [C#] recuperer la resolution de l'ecran
    Par shams dans le forum ASP.NET
    Réponses: 13
    Dernier message: 27/07/2005, 10h03
  5. Résolution et Ecran Hp M70
    Par gendo dans le forum Matériel
    Réponses: 3
    Dernier message: 18/09/2004, 13h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo