VBA liée la scrollbar à un label

Pouloupe -  
cousinhub29 Messages postés 1113 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, voici mon problème j'ai dans un UserForm1 un label : "condition" qui contient du texte qui dépasse en longueur ma fenêtre. donc j'ai placer une scrollbar1 a coté.
Voici le code :

Private Sub UserForm1_Initialize()
 With ScrollBar1
        .Min = 0 'Valeur mini
        .Max = 100 'Valeur maxi
        
        'Spécifie la distance de déplacement intervenant lorsque l'utilisateur
        'clique entre le curseur de défilement et la flèche de défilement.
        .LargeChange = 10
        
        'Spécifie le déplacement se produisant lorsque l'utilisateur clique sur
        'les flèches de défilement dans le contrôle ScrollBar
        '(La valeur par défaut = 1)
        .SmallChange = 5
    End With

End Sub

Private Sub ScrollBar1_Change()
condition = Scollbar1.Value
End Sub


J'ai une erreur avec condition = Scollbar1.Value

Pouvais vous me dire ce qui ne va pas. Je copie l'exemple de la doc mais impossible de faire marcher cette barre de défilement;

6 réponses

  1. cousinhub29 Messages postés 1113 Date d'inscription   Statut Membre Dernière intervention   383
     
    Bonjour,

    J'ai bien peur que ce que tu désires faire ne soit pas réalisable, via un scrollbar ou autre

    Ton label va prendre la valeur de la scrollbar, et non pas descendre ou monter...

    Pour réaliser ce que tu veux, je te conseille une ListBox (avec propriété Enabled à false...)

    bonne journée
    0
  2. Caûpcin
     
    Si tu pouvais détailler car j'ai essayer plein chose et aucune ne marche.

    C'est une catastrophe, je comprend pas qu'il n'ai pas prévu quelque chose.
    Donc si quelqu'un à une piste!!
    0
  3. Lupin
     
    Bonjour,

    Suggestion,

    Ce n'est pas parfait, mais je crois que c'est le résultat souhaité.

    Reste à faufiner, compter le nombre de caractères dans le label
    le diviser par ligne et conserver ces informations dans une structure
    et adapter le code.

    Option Explicit
    '
    
    Private Sub cmdQuitter_Click()
        Unload Me
    End Sub
    '
    
    Private Sub UserForm_Initialize()
     
        With ScrollBar1
            .Min = 0 'Valeur mini
            .Max = 280 'Valeur maxi
            
            'Spécifie la distance de déplacement intervenant lorsque l'utilisateur
            'clique entre le curseur de défilement et la flèche de défilement.
            .LargeChange = 20
            
            'Spécifie le déplacement se produisant lorsque l'utilisateur clique sur
            'les flèches de défilement dans le contrôle ScrollBar
            '(La valeur par défaut = 1)
            .SmallChange = 5
        End With
    
    End Sub
    '
    
    Private Sub ScrollBar1_Change()
    
        Dim Longueur As Long
        Dim Ligne As Long
        
        Longueur = Len(Condition)
        Ligne = ScrollBar1.Value
        Condition = Mid$(Condition, Ligne)
    
    End Sub
    


    Lupin
    0
  4. Caûpcin
     
    Coucou j'ai galérer mais j'ai trouver plus simple:

    Private Sub UserForm_Initialize()
    
    TextBox1.Locked = True
    TextBox1.ScrollBars = fmScrollBarsVertical
    TextBox1.MultiLine = True
    TextBox1.WordWrap = True
    TextBox1.Text = "ppppppppppppppppppppppppppppppppppppppppp" & vbCrLf & "ppppppppppppppppppppppppppppppppppppppppp" & vbCrLf & "ppppppppppppppppppppppppppppppppppppppppp" & vbCrLf & "ppppppppppppppppppppppppppppppppppppppppp" & vbCrLf & "ppppppppppppppppppppppppppppppppppppppppp" & vbCrLf & "ppppppppppppppppppppppppppppppppppppppppp" & vbCrLf & "ppppppppppppppppppppppppppppppppppppppppp" & vbCrLf & "ppppppppppppppppppppppppppppppppppppppppp" & vbCrLf & "ppppppppppppppppppppppppppppppppppppppppp" & vbCrLf & "ppppppppppppppppppppppppppppppppppppppppp" & vbCrLf & "ppppppppppppppppppppppppppppppppppppppppp" & vbCrLf & "ppppppppppppppppppppppppppppppppppppppppp" & vbCrLf & "ppppppppppppppppppppppppppppppppppppppppp" & vbCrLf & "ppppppppppppppppppppppppppppppppppppppppp" & vbCrLf & "ppppppppppppppppppppppppppppppppppppppppp" & vbCrLf & "ppppppppppppppppppppppppppppppppppppppppp" & vbCrLf & "ppppppppppppppppppppppppppppppppppppppppp" & vbCrLf & "ppppppppppppppppppppppppppppppppppppppppp"
    
    
    End Sub
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Caûpcin
     
    Merci de vos réponse les gars. Bonne continuation;
    0
  7. cousinhub29 Messages postés 1113 Date d'inscription   Statut Membre Dernière intervention   383
     
    Re-,

    Effectivement, un TextBox faisait aussi bien l'affaire qu'une ListBox comme je l'avais suggéré...

    tant mieux si tu as ce qu'il te faut

    Bonne journée
    0