Affichage en cascade de Frame différents

Scoobidoo

XLDnaute Occasionnel
Bonjour à tous,

J'ai un Userform dans lequel j'ai un Frame qui contient lui même plusieurs Frame(2 à 50) contenant chacun un Textbox. Je cherche la méthode la plus simple pour qu'à l'affichage de l'Userform, seul le Frame(2) avec son Textbox s'affichent, et que, dès que la valeur du TextBox n'est plus vide, alors le Frame(3) et son TextBox s'affichent, et que, dès que la valeur du TextBox n'est plus vide, alors le Frame(4) et son TextBox s'affichent etc ... jusqu'au Frame(50) et son TextBox. J'attends votre aide précieuse pour continuer d'avancer.J'espère être assez clair dans ma recherche et j'attends avec impatience de vous lire.
Bon après midi à tous.

Scoobidoo
 

JNP

XLDnaute Barbatruc
Re : Affichage en cascade de Frame différents

Bonjour Scoobidoo, Salut Bruno :),
C'est vrai que ça fait un bail que j'ai pas vu Skoobi :eek:...
Un essai en module de classe en pièce jointe :p
Bonne soirée :cool:
 

Pièces jointes

  • Module Classe Visible.xls
    60.5 KB · Affichages: 44

Scoobidoo

XLDnaute Occasionnel
Re : Affichage en cascade de Frame différents

Bonjour JNP, bonjour Bruno,

Pour Bruno : Pourquoi mettre tes Textbox dans des Frames, s'il y a juste ça dedans !? En effet il n'y a pas que des textbox mais également des Checkbox

Pour JNP : j'ai regardé ta proposition et cela semble correspondre à mon besoin. Je m'en vais de ce pas tenté de l'adapter.

Merci à tous de me sortir une nouvelle fois de mon impasse. A+

Scoobidoo
 

Scoobidoo

XLDnaute Occasionnel
Re : Affichage en cascade de Frame différents

Bonjour à tous, bonjour JNP,

J'essaie d'adapter ta proposition. Toutefois dans mon cas, dans mon UserForm, mon problème concerne le Frame6 qui lui contient les Frame 7 à 55 qui eux même contiennent un TextBox et une CheckBox. Peux tu me guider en ce sens car je pense que l'adaptation m'est hors de portée. Un grand merci par avance à toi et à tout le forum.

Scoobidoo
 

JNP

XLDnaute Barbatruc
Re : Affichage en cascade de Frame différents

Re :),
Le mieux aurait été de décrire le vrai problème et de fournir le fichier :mad:...
Code:
For Each Ctl In Me.Controls
    If TypeOf Ctl Is MSForms.TextBox Then
        Set MyNumBox = New NumBox
        Set MyNumBox.TargetBox = Ctl
        NumBoxes.Add MyNumBox
    End If
Tous les TextBox sont mis dans la collection. Si c'est un problème de limiter les TextBox concernés, il faut ajouter un deuxième If pour vérifier que le N° de la TextBox est entre telle et telle valeur dans le style
Code:
If Replace(Ctl.Name, "TextBox", "")*1 > 10 And Replace(Ctl.Name, "TextBox", "")*1 < 50 Then
Code:
    If TypeOf Ctl Is MSForms.Frame And Ctl.Name <> "Frame1" And Ctl.Name <> "Frame2" Then
        Ctl.Visible = False
    End If
J'ai juste gardé Frame1 et Frame2 visible... Le même genre de test que pour les TextBox te permettra de choisir les Frame à conserver visibles.
Code:
Suivant = "Frame" & Replace(TargetBox.Name, "TextBox", "") + 2
Chaque TextBox fait apparaître le Frame qui porte un N° de 2 de plus. A adapter à ton cas.
Bien sûr, ça veut dire aussi qu'il faut que tu soit carré pour nommer correctement tous les TextBox et tous les Frame concernés :rolleyes:...
Bon courage :cool:
 

Scoobidoo

XLDnaute Occasionnel
Re : Affichage en cascade de Frame différents

Bonjour JNP, le forum,

Effectivement je n'ai pas été très malin de na pas joindre le fichier pour que mon problème soit clair dès le départ. Mille excuses, et c'est une leçon que je retiens pour la prochaine fois. Je vais de ce pas me servir de tes conseils pour continuer mon projet. Encore un grand merci à toi. Bonne journée.

Scoobidoo.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 520
dernier inscrit
Azise