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 :

Déclencher action si scrollbar visible


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 90
    Par défaut Déclencher action si scrollbar visible
    Bonjour, j'ai une textbox d'une part et une frame contenant des textbox d'autre part. Selon les cas de figure, l'une et l'autre peuvent être chargées et s'affichent alors avec une scrollbar pour scroller.
    Comment puis déclencher une action (en l'occurence agrandir la textbox ou la frame lorsque je passe la souris dessus) uniquement si la scrollbar est visible (c'est à dire si besoin de l'agrandir...) ?

    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 446
    Par défaut
    Bonjour,

    Quelque chose de ce genre (code au niveau de UserForm1)
    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
    Option Explicit
     
    Dim vHeight As Single, k As Single, s As String
     
    Private Sub UserForm_Initialize()
        vHeight = Me.TextBox1.Height        '--- hauteur de la textbox montrant 1 ligne
        s = ActiveCell.Text
        k = Int(Len(s) / 40) + 1            '--- 1 ligne textbox1 estimée contenir 40 caractères environ
        Debug.Print vHeight, k, s
        Me.TextBox1.Text = s
    End Sub
     
    Private Sub TextBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        Me.TextBox1.Height = vHeight * k   '--- agrandit la textbox
    End Sub
     
    Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        Me.TextBox1.Height = vHeight       '--- rend la hauteur initiale de la textbox
    End Sub
    Cordialement.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 90
    Par défaut
    Bonjour, merci de ta réponse, c'est une méthode pour estimer la taille du contenu, et en fonction en déduire si la scrollbar devrait être là...
    Dans mon cas ça serait un peu une usine à ga car la frame peut contenir jusqu'à 40 textbox avec quelques mots ou de longs textes donc vraiment difficile d'estimer la taille finale de la frame...
    Je cherche plutôt une méthode qui détecte si la scrollbar est visible... si cette méthode existe

  4. #4
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 303
    Par défaut
    Hello,

    voyez si la solution de Patrick Toulon ne vous conviendrait pas
    https://www.developpez.net/forums/d1...er-scrollbars/

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 90
    Par défaut
    Bonjour, merci du partage, effectivement la comparaison .height avec .scrollheight semble faire l'affaire, je vais creuser ça
    [edit :] ça marche pour le frame ce qui était le plus délicat. Pour le textbox scrollheight n'existe pas, mais linecount fait l'affaire !
    Merci !

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

Discussions similaires

  1. Scrollbar visible mais inactive
    Par paladice dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 28/05/2013, 10h02
  2. Alert avec scrollbar visible
    Par lassaadpfe dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 05/03/2012, 17h39
  3. [Lazarus] TListBox et scrollbar visible en permanence
    Par supercyprien dans le forum Lazarus
    Réponses: 4
    Dernier message: 11/02/2010, 19h41
  4. [JScrollBar] Récupéré les actions sur les scrollbars
    Par lilou77 dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 20/10/2005, 11h36
  5. Comment savoir si les ScrollBar sont visibles sur un TRichEdit ?
    Par vanquish dans le forum Composants VCL
    Réponses: 2
    Dernier message: 16/10/2003, 11h28

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