bouligrain
Messages postés5Date d'inscriptionmardi 28 avril 2009StatutMembreDernière intervention 9 juin 2009
-
28 avril 2009 à 16:36
bouligrain
Messages postés5Date d'inscriptionmardi 28 avril 2009StatutMembreDernière intervention 9 juin 2009
-
29 avril 2009 à 15:48
Bonjour,
Je viens de débuter avec visual basic (sur excel). J'ai fais pour un
formulaire qui permet à l'utilisateur de répondre à quelques questions,
puis selon ses choix, un second formulaire apparait avec des textboxs
qui apportent des explications sur chaque choix sélectionné. J'ai
demandé à cacher le textbox s'il n'y a pas d'information à apporter sur
l'un des choix (c'est à dire si la cellule excel correspondante est
vide). Jusque là tout va bien.
J'aimerais que les textbox visibles puissent s'afficher à la suite les
uns des autres sans qu'il n'y ait de trous (la place des textboxs
cachés).
Est-ce que quelqu'un connaitrait un code qui permettrait à un textbox de se positionner automatiquement à la suite du dernier textbox visible?
J'espère que la question n'est pas trop embrouillée,
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 29 avril 2009 à 10:12
Salut
Non non, question claire.
En fait, il faut passer en revue les TextBox de ta forme.
Le problème est que lors de l'énumération, on n'est pas sûr de les découvrir dans l'ordre dans lequel elles sont affichées.
Il faudra retravailler ce point.
Dim maTextBox As Object
Dim LastPos As Long
LastPos = 10 ' position de départ
For Each maTextBox In Controls
If maTextBox.Name Like "TextBox*" Then
If maTextBox.Visible Then
maTextBox.Top = LastPos
' Décale la prochaine
LastPos = maTextBox.Top + maTextBox.Height + 5
End If
End If
Next
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)