Vider les listbox d'un multipage

Bonjour à tous,

J'ai un petit soucis auquel je ne trouve pas de solution!

J'ai un multipage dans un userform. Dans chaque page, il y a une listbox qui renvoie un texte dans la cellule "B5". Que ça soit la listbox1 dans la page 1 ou la listbox2 dans la page 2....tout ramène à la cellule "B5".

Mon soucis est que j'aimerais réinitialiser les pages dès que je viens sur une nouvelle page (en gros effacer les listbox quand je change de page!) et que dans ma cellule "B5" n'apparaissent que ma listbox de ma page active!

Si quelqu'un à une solution, ça m'aiderait beaucoup!

Merci d'avance, à tous et bonne soirée^^

Bonjour,

pas sur d'avoir bien compris ta demande... essaye ceci si ca peut te faire avancer...

Private Sub MultiPage1_Change()
Dim c As Control
With MultiPage1
    For Each c In .Pages(.Value).Controls
        If TypeName(c) = "ListBox" Then c.Clear
    Next c
End With
End Sub

bonne journée

@+

Bonjour Pierrot et merci,

En fait j'ai un multipage avec 2 pages qui me servent juste à reporter des info dans mon classeur. Je me sert soit de la page 1, soit de la page 2 (mais en aucun cas des deux!). Si je remplis des infos dans ma page 2 par erreur, que je reviens sur ma page 1 les mettre au bonne endroit et que je valide, je n'aurais dans mon tableau que les infos de la page 2.

En gros je veux prioriser ma page active!

Dis moi si je manque de clarté, et j'essayerais de faire plus simple!

Encore merci^^

Bonjour,

En gros je veux prioriser ma page active!

Dis moi si je manque de clarté, et j'essayerais de faire plus simple!

bah... un petit peu... enfin pour moi.... A voir s'il est vraimenet utilise que tu utilises un "multipage".... une seule interface est peut être possible.... mais là, en l'état manque un peu de détail sur les tenants et aboutissants...

bonne journée

@+

Merci Pierrot et désolé de ne répondre que maintenant!

Je vais essayer de reprendre d'une manière plus claire!

J'ai une Listbox2 et une listbox6 qui sont dans deux pages différents d'un multipage1 le tout dans un USF.

Je voudrais que l'utilisateur puisse remplir soit la 2 soit la 6 mais pas les deux en même temps. Elles renvoient le texte écrit dans les listbox dans la même cellule B5. Cependant pour l'instant elles rentrent "en conflit".

J'ai ça pour l'instant mais ce n'est apparemment pas la bonne solution...

Private Sub TextBox6_Change()
If TextBox6.Value <> True Then
Range("B5").Value = Val(TextBox6)
End If
End Sub

Private Sub TextBox2_Change()
If TextBox2.Value <> True Then
Range("B5").Value = Val(TextBox2)
End If
End Sub

Merci d'avance

Bonsoir,

Peut être une solution en verrouillant l'une ou l'autre de textBox.

En gros si ta textBox 1 contient une valeur alors ta textBox6 se verrouille et vis versa.

Bonsoir et merci Jeremy.

C'est exactement ça qu'il me faudrait, mais qu'elle ligne de code correspond au verrouillage d'un Textbox?

Merci d'avance!

Voilà les codes à associer aux textBox

Private Sub TextBox1_Change()
If TextBox1.Value = "" Then
TextBox2.Enabled = True
End If
If TextBox1.Value <> "" Then
TextBox2.Enabled = False
End If
End Sub

Private Sub TextBox2_Change()
If TextBox2.Value = "" Then
TextBox1.Enabled = True
End If
If TextBox2.Value <> "" Then
TextBox1.Enabled = False
End If
End Sub

L'idéal pour moi serait plus d'associer tes TextBox à deux OptionButton.

De facon à ce que si le bouton 1 est selectionné, on ne peut remplir que la textbox1

Si le bouton 2 est selectionné on ne peut remplir que la textbox2.

A toi de me dire


Par contre je n'ai pas pris en compte tes N° de TextBox, pour toi ce sera bien évidement 2 et 6.

Quelchose comme ça

77damdam-textbox.zip (10.29 Ko)

En fait tout cela m'a donné une idée et j'ai totalement remodifié mon USF.

J'avais le même problème avec des combobox et j'ai résolu le tout avec un code du style:

If ComboBox1.ListIndex = -1 And ComboBox2.ListIndex = -1 And ComboBox3.ListIndex = -1 Then
Range("F5").Value = ComboBox4.Text
End If
If ComboBox1.ListIndex = -1 And ComboBox3.ListIndex = -1 And ComboBox4.ListIndex = -1 Then
Range("F5").Value = ComboBox2.Text
End If
If ComboBox1.ListIndex = -1 And ComboBox2.ListIndex = -1 And ComboBox4.ListIndex = -1 Then
Range("F5").Value = ComboBox3.Text
End If
If ComboBox4.ListIndex = -1 And ComboBox2.ListIndex = -1 And ComboBox3.ListIndex = -1 Then
Range("F5").Value = ComboBox1.Text
End If

En tout cas merci à tous pour votre aide, c'étais vraiment sympa de votre part!

Rechercher des sujets similaires à "vider listbox multipage"