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 :

Hauteur dynamique d'un Userform [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 231
    Par défaut Hauteur dynamique d'un Userform
    Bonjour à tous,

    Je souhaiterais que la hauteur d'un userform puisse changer en fonction du choix de l'onglet, exemple concret :

    Hauteur correcte
    Nom : Capture2.PNG
Affichages : 666
Taille : 9,4 Ko

    Hauteur incorrecte que je souhaiterais pouvoir ajuster lorsque l'on sélectionne cet onglet.
    Nom : Capture.PNG
Affichages : 597
Taille : 6,2 Ko

    Merci d'avance pour votre aide.

    Excellente journée.

  2. #2
    Membre chevronné
    Homme Profil pro
    Alternant
    Inscrit en
    Décembre 2015
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 413
    Par défaut
    Une excellente discussion à lire :
    https://www.developpez.net/forums/d9...rols-userform/

  3. #3
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Si le nombre de bouton par onglet et leur taille sont fixes, ce n'est pas vraiment du dynamique qu'il te faut.
    Essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub TabStrip1_Change()
        With Me
            Select Case .TabStrip1.Value
                Case 0
                    .Height = 150
                Case 1
                    .Height = 175
                Case 2
                    .Height = 200
            End Select
            .Repaint
        End With
    End Sub

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 231
    Par défaut
    Merci à tous pour vos réponse, j'ai retenu celle de pijaku qui correspond parfaitement à ce que je cherchais.

    Code final pour mon cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub MultiPage1_Change()
       With Me
            Select Case .MultiPage1.Value
                Case 0
                    .Height = 214
                Case 1
                    .Height = 340
                Case 2
                    .Height = 130
            End Select
            .Repaint
        End With
    End Sub

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2017
    Messages : 4
    Par défaut hauteur variable
    Salut

    Tout d'abord, au changement de page dans ton MultiPAges, il faut utiliser l'événement "Change" du MultiPages.
    La page sélectionnée est présentée dans "MonMultiPages.SelectedItem", tu peux l'identifier par exemple avec "MonMultiPages.SelectedItem.Index" (page1 = 0), ou par le nom ".Name".

    A partir de là, soit le nombre de contrôles boutons est fixe par page, soit il est variable.

    S'il est fixe, tu peux calculer la hauteur à appliquer à ton MultiPages (MonMultiPages.Height) et à ta fenêtre (Me.Height) et fonction de la page et l'appliquer dans l'événement Change du MultiPages.

    Si ton nombre de contrôles est variable, il faut parcourir la collection Controls du MultiPages, trouver le max des Top+Height pour trouver la limite basse, ajoute une marge, tu auras la taille à appliquer à ton MultiPages, ajoute la marge entre le bas du multipages et le bas de ta fenêtre et (monmultipages.top + monmultipages.height + marge sous le multipages) = hauteur de la fenêtre (me.Height).

    En espérant que ça t'aide.

    Sylvain

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

Discussions similaires

  1. Hauteur fixe (px) + hauteur dynamique = 100%
    Par PoZZyX dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 09/10/2009, 14h23
  2. [E-03] Générer un tableau croisé dynamique depuis un UserForm
    Par moilou2 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/01/2009, 20h32
  3. [DynamicHeight] gestion de la Hauteur dynamique dans un div
    Par alavoler dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 01/10/2008, 11h44
  4. rapprt de tableau croisé dynamique sur un userform
    Par getule dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/07/2007, 19h25

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