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 :

Positionner une fenêtre Excel par VBA en fonction de la taille de l'écran


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Juin 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2013
    Messages : 13
    Par défaut Positionner une fenêtre Excel par VBA en fonction de la taille de l'écran
    Bonjour à tous,

    Je suis en cours de développement d'un formulaire, et j'ai prévu d'afficher mon formulaire à droite de l'écran, et la feuille de commande Excel à gauche.
    En utilisant l'enregistrement automatique d'une macro, j'ai obtenu la position de ma fenêtre dans la partie médiane gauche de mon écran :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Cadrer_Fenetre()
    '
    ' Cadrer_Fenetre Macro
    '
    Application.Left = 1
    Application.Top = 1
    Application.Width = 630
    Application.Height = 686.25
    End Sub
    Bien sûr, les valeurs "Width et Height" dépendent de mon type d'écran (18"1/4).
    Ma question est donc : "Comment puis-je récupérer les valeurs "Width et Height" liées à l'écran du futur utilisateur de l'application ?"
    Je vous remercie d'avance de votre réponse si vous avez la solution, ce dont je ne doute pas...

    Mistouv

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonsoir,

    "Comment puis-je récupérer les valeurs "Width et Height" liées à l'écran du futur utilisateur de l'application ?"
    Une solution est de maximiser la fenêtre de l'application Excel, puis de récupérer la taille de la fenêtre ainsi maximisée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    With Application
            .WindowState = xlMaximized
            largeur = .Width 
            hauteur = .Height
    End With
    Puis d'ajuster la taille du classeur dans les proportions souhaitées.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    With Application.Windows("Classeur1")
            .WindowState = xlNormal
            .Width = largeur * 0.5
            .Height = hauteur
    End With
    Pour les positionnements d'un UserForm, voir Définir la position d'USF à l'écran de SilkyRoad

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Egalement, il faudrai voir si le ppp (point par pouce) de Windows de l'utilisateur impact la taille de la fenêtre ou non. Pour ma part, je suis en 144 ppp contre 96 ppp par défaut sur tout les Windows d'origine. Un nbre de ppp plus grand que 96 abaisse virtuellement la définition de l'écran. Les texte sont affiché plus gros et ça prends plus de place.

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Juin 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2013
    Messages : 13
    Par défaut merci pour vos réponses
    Bonsoir, et merci pour vos réponses.

    Je ne peux malheureusement pas tester en reel avant lundi sur une autre machine, mais ta réponse, BlueMonkey, me semble effectivement fonctionner, j'ai essayé "à blanc", sur ma machine.
    Je tiendrai bien évidemment compte de la remarque de Nouveau2, et je reviendrai vers vous si je constate quelque chose de particulier.
    De ce fait, je clôture ce sujet.

    Merci encore,
    Mistouv

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

Discussions similaires

  1. Détecter une fenêtre internet active VBA Excel
    Par mmmxtina dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 04/06/2009, 17h36
  2. Identifier un caractère d'une text box par VBA sous excel
    Par bibi5883 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/04/2007, 08h57
  3. Positionner une fenêtre ouverte par un shell
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 08/12/2006, 08h33
  4. Probléme lorsqu'une fenétre passe par dessus l'autre...
    Par hostile dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 03/01/2006, 19h20
  5. Récupérer la couleur d'une cellule excel par Delphi
    Par teamsebracing dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 05/06/2003, 14h50

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