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

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    octobre 2018
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique

    Informations forums :
    Inscription : octobre 2018
    Messages : 148
    Points : 38
    Points
    38

    Par défaut UserForm avec région scrollable contenant des contrôles

    Bonjour,

    Est-il possible intégrer une région scrollable dans un UserForm contenant des contrôles, tout en gardant une partie haute et base fixes ?

    Nom : Form.jpg
Affichages : 45
Taille : 98,6 Ko

    J'imagine que ça passe par des Frames ou peut-être faire appel à un sous-UserForm ?

    Merci par avance !

  2. #2
    Débutant  
    Avatar de patricktoulon
    Homme Profil pro
    cuisiniste
    Inscrit en
    avril 2009
    Messages
    15 396
    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 396
    Points : 13 074
    Points
    13 074
    Billets dans le blog
    7

    Par défaut re

    bonsoir
    oui tu met d tes control scrollable dans un frame
    tu met le scrollbar vertical et tu regle le scrollheight avec le top +height du dernier control en bas de la frame

    Nom : demo3.gif
Affichages : 39
Taille : 58,1 Ko
    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

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    octobre 2018
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique

    Informations forums :
    Inscription : octobre 2018
    Messages : 148
    Points : 38
    Points
    38

    Par défaut

    Merci Patrick pour ces explications. Voilà de quoi me (pré)occuper pour le restant de la soirée

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    octobre 2018
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique

    Informations forums :
    Inscription : octobre 2018
    Messages : 148
    Points : 38
    Points
    38

    Par défaut

    Ca fonctionne très bien, mais il s'avère que la barre verticale est situe totalement en-bas de la plage lors de l'affichage de l'UserForm. Je vois que la propriété .ScrollTop change quand j'agis sur la barre verticale. .ScrollTop = 0 corespond pourtant à la barre tout en haut et l'initialisation de l'UserForm n'y fait rien (où Frame1 est le nom par défaut de la Frame) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    '
    Private Sub UserForm_Initialize()
     
        Frame1.ScrollTop = 0 'pas d'effet
     
    End Sub
    As-tu une explication ?

  5. #5
    Débutant  
    Avatar de patricktoulon
    Homme Profil pro
    cuisiniste
    Inscrit en
    avril 2009
    Messages
    15 396
    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 396
    Points : 13 074
    Points
    13 074
    Billets dans le blog
    7

    Par défaut re

    en mode edition dans vbe est elle bien a 0?
    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

  6. #6
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    avril 2016
    Messages
    7 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : avril 2016
    Messages : 7 491
    Points : 12 871
    Points
    12 871

    Par défaut

    Bonjour
    modifier les propriétés (surtout graphiques) d'un contrôle dans l'évènement initialize n'est pas une bonne idée.
    Faire cela dans l'évènement Activate
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...
    Les raisons réelles de délaissements ne sont pas toujours celles que l'on pense avoir déterminées.

  7. #7
    Débutant  
    Avatar de patricktoulon
    Homme Profil pro
    cuisiniste
    Inscrit en
    avril 2009
    Messages
    15 396
    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 396
    Points : 13 074
    Points
    13 074
    Billets dans le blog
    7

    Par défaut re

    re
    a mettre dans le activate de l'userform
    Adapte le nom de ta frame
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_Activate()
    With Me.Frame1
    For Each ctrl In .Controls: y = ctrl.Height + ctrl.Top + 10: Next
     .ScrollHeight = y: .ScrollTop = 0
    End With
    End Sub
    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
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    octobre 2018
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique

    Informations forums :
    Inscription : octobre 2018
    Messages : 148
    Points : 38
    Points
    38

    Par défaut

    J'ai un doute, mais il me semble qu'il suffit de déplacer la barre de défilement tout en haut lors de la création (je vérifierai demain). De ce fait, lors de l'affichage de l'UserForm, le ScrollBar devra(it) prendre la même position.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    octobre 2018
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique

    Informations forums :
    Inscription : octobre 2018
    Messages : 148
    Points : 38
    Points
    38

    Par défaut

    Est-ce possible d'incrémenter "automatiquement" les CodeName des différents TextBox contenu dans le Frame ? Dans mon cas, j'ai plusieurs "colonnes" d'une vingtaine de TextBox et je tout nommé à la main ne fait pas très pro...

    J'ai l'impression qu'avec ThisWorkBook.VBProject.VBComponents (avec Miscrosof Visual Basic for Applications Extensibility 5.3), je ne peux qu'accèder facilement au CodeName de l'UserForm, mais pas aux contrôles compris dans l'UserForm (et en particulier le Frame). Il y a bien une propriété Collection, mais celle-ci renvoie à ThisWorkBook.VBProjectVBProject.VBComponents, mais non aux éléments "enfants". Je vais quand même continuer à creuser dans cette direction

    PS : La librairie ci-dessous est probablement obligatoire pour accèder au CodeName en écriture.

    Merci encore !

  10. #10
    Débutant  
    Avatar de patricktoulon
    Homme Profil pro
    cuisiniste
    Inscrit en
    avril 2009
    Messages
    15 396
    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 396
    Points : 13 074
    Points
    13 074
    Billets dans le blog
    7

    Par défaut re

    si tu a plusieur textbox aligné il faut memoriser le plus grand
    je ne vois pas ou tu veux en venir avec les object vbcomponent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub UserForm_Activate()
    dim y#,yy#
    With Me.Frame1
    For Each ctrl In .Controls
     y = ctrl.Height + ctrl.Top + 10
    if y>yy then yy=y
     Next
     .ScrollHeight = yy: .ScrollTop = 0
    End With
    End Sub
    c'est tout
    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

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/05/2012, 19h56
  2. Lié un combobox avec une arryalist contenant des objects
    Par fab2050 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 14/11/2008, 10h47
  3. Réponses: 3
    Dernier message: 18/09/2006, 20h55
  4. Problème avec un switch contenant des strings
    Par dessinateurttuyen dans le forum Syntaxe
    Réponses: 6
    Dernier message: 18/07/2006, 12h56
  5. Problème avec une TImageList contenant des grandes images
    Par Manopower dans le forum Composants VCL
    Réponses: 8
    Dernier message: 17/11/2005, 15h20

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