Vider les listbox d'un multipage Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
D
Damdam69
Jeune membre
Jeune membre
Messages : 32
Inscrit le : 17 janvier 2014
Version d'Excel : 2007

Message par Damdam69 » 20 janvier 2014, 22:34

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^^
Avatar du membre
Pierrot93
Membre fidèle
Membre fidèle
Messages : 228
Inscrit le : 21 juillet 2009
Version d'Excel : 2003 FR

Message par Pierrot93 » 21 janvier 2014, 10:31

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
@+
D
Damdam69
Jeune membre
Jeune membre
Messages : 32
Inscrit le : 17 janvier 2014
Version d'Excel : 2007

Message par Damdam69 » 21 janvier 2014, 18:51

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^^
Avatar du membre
Pierrot93
Membre fidèle
Membre fidèle
Messages : 228
Inscrit le : 21 juillet 2009
Version d'Excel : 2003 FR

Message par Pierrot93 » 22 janvier 2014, 07:15

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
@+
D
Damdam69
Jeune membre
Jeune membre
Messages : 32
Inscrit le : 17 janvier 2014
Version d'Excel : 2007

Message par Damdam69 » 26 janvier 2014, 20:22

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
J
JeremyW
Membre fidèle
Membre fidèle
Messages : 434
Appréciation reçue : 1
Inscrit le : 16 juillet 2013
Version d'Excel : 2003 & 2007

Message par JeremyW » 26 janvier 2014, 21:38

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.
D
Damdam69
Jeune membre
Jeune membre
Messages : 32
Inscrit le : 17 janvier 2014
Version d'Excel : 2007

Message par Damdam69 » 26 janvier 2014, 22:49

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!
J
JeremyW
Membre fidèle
Membre fidèle
Messages : 434
Appréciation reçue : 1
Inscrit le : 16 juillet 2013
Version d'Excel : 2003 & 2007

Message par JeremyW » 28 janvier 2014, 10:28

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.
J
JeremyW
Membre fidèle
Membre fidèle
Messages : 434
Appréciation reçue : 1
Inscrit le : 16 juillet 2013
Version d'Excel : 2003 & 2007

Message par JeremyW » 28 janvier 2014, 10:44

Quelchose comme ça
DamDam TextBox.xls
(25 Kio) Téléchargé 52 fois
D
Damdam69
Jeune membre
Jeune membre
Messages : 32
Inscrit le : 17 janvier 2014
Version d'Excel : 2007

Message par Damdam69 » 28 janvier 2014, 21:14

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!
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message