Ma scrollbar fonctionne mais pas avec les flèches

Messages postés
9
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
14 juin 2007
- - Dernière réponse : fabientoupeti
Messages postés
9
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
14 juin 2007
- 14 juin 2007 à 14:17
bonjour,
 
j'ai un petit soucis avec une scrollbar dans un formulaire.
 
j'ai un formulaire avec des contrôles créés en dynamique sur ce formulaire j'ai ajouté une scrollbar. 
 
mon probleme est que quand j'utilise les fleches de la scrollbar seul la barre de la scrollbar se déplace mais tout mes textbox dans ma userform restent immobile.Par contre quand je clique directement sur la barre et que je la deplace les textbox se deplacent parfaitement. 
 
quelqu'un sait-il d'où cela vient?
 
faut il que je mette tous mes controles dans une frame avec la scrollbar directement dans la frame?
 
faut il que j'utilise la scrollbar de ma userform sans en rajouter une nouvelle?

Merci d'avance pour vos réponses.
 
Fabientoupeti
Afficher la suite 

10 réponses

Messages postés
17283
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
55
0
Merci
t'es en VBA ?.

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
9
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
14 juin 2007
0
Merci
non en VB6.
En fait j'utilise VB6 pour créer des macros avec CATIA (logiciel de modélisation mécanique).
Commenter la réponse de fabientoupeti
Messages postés
591
Date d'inscription
lundi 25 août 2003
Statut
Membre
Dernière intervention
18 juillet 2010
0
Merci
Dans quel événement tu modifies les positions de tes text box par rapport aux scroll bar ?
Verifie si l'evenement cliquer sur le scroll bar est le meme que celui de deplacer avec les flèches.
Commenter la réponse de ciberrique
Messages postés
17283
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
55
0
Merci
le fait de poser un scrollbar sur un form ne va  pas deplacer les controles en fonction de ce que tu fais avec ton scrollbar....

http://www.vbfrance.com/codes/OCX-CONTAINER-SCROLLABLE_18285.aspx

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
9
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
14 juin 2007
0
Merci
merci a vous pour vos reponses.

reponse pour ciberrique:


je suis un petit nouveau dans le monde du vb, donc je ne suis pas sûre de bien repondre a ta question.


pour moi evenement c 'est Private Sub...


je modifie les positions de mes textbox dan l'évènement:
Private Sub ScrollBar1_Scroll()
pour exemple je pose ce que j'ai ecrit pour que mes textbox se bougent avec la scrollbar:

Private Sub ScrollBar1_Scroll()
Dim i As Integer


For i = 1 To cantidad
    For Each capa In definicion_mano.Controls
    If capa.Name = "capa" & i - 1 Then
    capa.Top = captop(i - 1) - ScrollBar1.Value
    End If
    'If capa.Top <= 18 Then
    'capa.Visible = False
    'End If
    Next capa
Next i

Pour Renfield, j'ai essayé d'utiliser ce que tu m'avais filé avec le lien mais quand je tente d'importer le .frm il me dit que la classe selectionné n'est pas compatible avec VBE??
c'est quoi VBE?
et pour etre franc je n'ai pas bien compris ta remarque, désolé.

merci encore pour vos aides
a+
fabientoupeti
Commenter la réponse de fabientoupeti
Messages postés
17283
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
55
0
Merci
pas possible que tu découpe ton ecran en placant plutot des onglets, en ce cas ? (plus standard, en plus)

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
591
Date d'inscription
lundi 25 août 2003
Statut
Membre
Dernière intervention
18 juillet 2010
0
Merci
Je vois pas d'erreur dans ton code, essaye de verifier les differentes valeurs de scroll.value selon que tu cliques sur la fleche ou sur le scroll.
Commenter la réponse de ciberrique
Messages postés
17283
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
55
0
Merci
quoi ce   captop(i - 1)     dans ton code ?

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
9
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
14 juin 2007
0
Merci
le truc c'est qu'en fait je crée mes label et texbox en dynamique parce que je ne sais pas a priori combien je vais avoir de lignes à remplir dans ma userform.

pour que tu comprennes mieux où je veux venir je vais t'expliquer comment se passe mon prog.

je lance mon prog la userform apparait.
je remplis une premiere textbox, elle, créée avec l'outil pour dire combien je veux de lignes dasn ma userform (normalement, pour mon application on pourrait demander plus ou moins de créer 200lignes).
sur chaque ligne il y a un label et 4 textbox.
ma fenetre est dimensionné de telle maniere que pour moins de 25 lignes la scrollbar n'apparaisse. pour plus elle apparait et le besoin de se déplacer se fait sentir pour pouvoir remplir toutes les textbox de toutes lignes.

le problème que je vais avoir avec les onglets va etre dans la lourdeur du remplissage si à chaque fois il faut cliquer à un endroit...ca risque d'être plus chiant que ça ne l'est en ce moment...

merci pour vos aides
a+

fabientoupeti 
Commenter la réponse de fabientoupeti
Messages postés
9
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
14 juin 2007
0
Merci
nos messages se sont croisés!

le captop(i-1) vient du fait que j'ai créé mes textbox ou label en dynamique et donc il me fallait recuperer la valeur top de chaque label et textbox
captop est une liste ca me permet de créer plus facilement des boucles pour bouger chaque ligne de ma userform.

For i = 1 To cantidad
    For Each capa In definicion_mano.Controls
    If capa.Name = "capa" & i - 1 Then
    captop(i - 1) = capa.Top
    End If
    Next capa
Next i
Commenter la réponse de fabientoupeti