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 :

l'ajustement de l'UserForm à l'écran ne fonctionne pas [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 120
    Par défaut l'ajustement de l'UserForm à l'écran ne fonctionne pas
    Bonjour,

    Je souhaite que mon userform s'ajuste automatiquement à la taille de l'écran à l'ouverture du fichier, mais ça ne fonctionne pas.
    voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Workbook_Open()
    Accueil.Show
    worksheets("fond").Visible = True
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Accueil_Activate()
        With Me
            .StartUpPosition = 3
            .Width = Application.Width
            .Height = Application.Height
            .Left = 0
            .Top = 0
        End With
    End Sub
    Merci de votre aide

  2. #2
    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
    Bonjour,

    Supprime la procédure "Accueil_Activate" et place tout dans "Workbook_Open" en respectant l'ordre suivant :
    1. régler les paramètres
    2. afficher

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Workbook_Open()
    With Accueil
        .Height = Application.Height
        .Width = Application.Width
        .Show
    End With
    End Sub

  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

    je ne vois par pourquoi le code mis dans l'évènement activate de ton userform Accueil ne fonctionnerait pas ...
    Il fonctionne chez moi .L
    Par contre, il doit s'y trouver dans l'évènement activate, ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub UserForm_Activate() '  <<<< ===== et non Accueil_Activate !!!
     
        With Me
            .StartUpPosition = 3
            .Width = Application.Width
            .Height = Application.Height
            .Left = 0
            .Top = 0
        End With
     
    End Sub
    dans un UserForm, les évènements le concernant invoquent UserForm et non le nom qu'on lui a donné

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu!...
    bonjour a tous


    si tu demande que le usf soit en plein ecran avec la fonction application width et height veille a ce que l applica tion soit en plein ecran

    pour s'en assurer tu peux metre ca en debut de macro

    application.displayfullscreen =true
    application.displayfullscreen =false a la fin de la macro
    exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub UserForm_Activate()
    application.displayfullscreen =true 
    me.width=application.width
    me.height=application.height
    me.left=0
    me.top=0
     application.displayfullscreen =false 
    End Sub
    Sinon tu a les apis pour ca voici un exemple concret et parfaitement fonctionel
    2 lignes suffisent apres avoir declarer les fonction de l'api
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    'on va se servir de l'api "user32.dll"
    'ici on declare les fonctions de l'api 
    private Declare Function fwa Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    private Declare Function show Lib "User32" Alias "ShowWindow" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
    private handle As Long
    
    
    Private Sub UserForm_Activate()
    handle = fwa(vbNullString, nomdeluserform.Caption) 'le handle de la form
    show handle, 3   'on veut maximiser la form au démarrage,
     End Sub
    maintenant quand tu redimentionne un usf les controls restent eux a leur tailles initiales tu remedier a cela par macro

    dans les contributions tu trouvera plusieur exemples que j ai poster il y a pas tres longtemp

    voici un des liens:
    http://www.developpez.net/forums/d98...e-new-version/

    voila si ca peut servir
    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    dans les contributions tu trouvera plusieur exemples que j ai poster il y a pas tres longtemp

    voici un des liens:
    http://www.developpez.net/forums/d98...e-new-version/

    voila si ca peut servir
    C'est génial, merci Patrick.

  6. #6
    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
    re-salut

    je rappelle que la demande ne considérait que le redimensionnement du UserForm et non celui (et leur repositionnement) des contrôles qui s'y trouveraient.

    Quant au reste, on en reparlera lorsque l'on aura bien voulu s'apercevoir de ce que, d'un écran à l'autre, existent des proportions différentes susceptibles de générer dans certains cas des gênes assez significatives. Il ne suffit alors certes pas de "redimensionner" en largeur et en hauteur par application de deux coefficients (distorsions garanties dans certains cas). Mais ceci est un autre problème qui ne me parait pas devoir être traité ici, puisque (une autre fois) le demandeur ne pose que la question du redimensionnement, en plein écran, du seul UserForm

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonjour a tous et babaothe

    oui babahote certe tu a raison mais j'ai aussi indiqué le redimentionnement des controls car il en ai souvent question l'ors du redimentionnement de l'usf
    alors d'une pierre deux coups il a une piste complete a ce sujet

    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 120
    Par défaut l'ajustement de l'UserForm à l'écran ne fonctionne pas
    Bonjour à tous,

    J'ai utilisé le code de fring ça fonctionne, de même que celle de babaothe mais je ne comprend pas pourquoi ça marche avec Userform et pas avec son Nom (accueil) comment gérer ce problème lorsqu'il y a plusieurs Userform, avec le displayfullscreen ? j'avais essayé en étant plein écran avant de lancer la macro mais ça ne donnait aucun résultat.

    Merci de toutes vos réponses

  9. #9
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonjour


    alons donc

    qu'est ce qui ne marche pas envoie ton code car comme ca on ne comprend pas tres bien normalement tout les exemples que tu a eu sont parfaitement fonctionels

    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 120
    Par défaut re
    Bonjour,

    Lisez bien mon dernier message,"j'avais essayé en étant plein écran avant de lancer la macro mais ça ne donnait aucun résultat". J'ai utilisé le bouton plein écran donc pas de code. Mais je confirme que vos solutions fonctionnent.

    Cordialement

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

Discussions similaires

  1. ajustement automatique des Userform a l'écran
    Par guitalex dans le forum Excel
    Réponses: 4
    Dernier message: 25/03/2014, 06h26
  2. [XL-2010] Ajuster automatiquement fenetre userform avec une scrollbar
    Par bastou93 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/06/2011, 11h33
  3. [XL-2003] ajuster un userform à l'écran
    Par dlight dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/08/2010, 23h11
  4. Coomment ajuster taille Form par rapport à écran ?
    Par Jap dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 12/02/2009, 15h35
  5. Réponses: 25
    Dernier message: 08/01/2009, 22h32

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