Problème d'initialisation d'une listbox dans un formulaire.

Kanar1979 Messages postés 3 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 3 juin 2005 - 2 juin 2005 à 16:25
Kanar1979 Messages postés 3 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 3 juin 2005 - 3 juin 2005 à 08:50
Bonjour, j'ai rencontré un problème que j'ai contourné mais j'aimerai bien comprendre.
Je fait des macro dans Excel2002
J'ai un formulaire (frm) avec une listbox (ListBox1).
Une procédure initialise les données du formulaire:

sub init()

frm.ListBox1..ListBox1.RowSource = "Feuil1!b12:b23"
frm.ListBox1.ListBox1.ControlSource = "Feuil1!b10"

' puis viens le problème:If IsError(frmChoixJeux.ListBox1.Value myRange1.Value) False Then
frm.ListBox1.Value = myrange.value
call sub2 ' sub2 est une procédure qui travaille à partir de frm.ListBox1.Value
end if

end sub
Le problème est double
- la ligne If IsError est là au cas où myrange.value n'appartient à la ListBox, mais ça ne marche pas, le programme passe la ligne if et m'affiche un message d'erreur derrière!!!
- bien que myrange.Value soit non vide frm.ListBox1.Value reste invariablement vide (=""). Alors que RowSource et ControleSource sont initialisés corrèctement?!

Si vous avez une idée n'hésitez pas à éclairer ma lanterne, merci .

2 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
2 juin 2005 à 22:00
Bonsoir,



Ton code n'est pas très clair. frm.LixtBox1.ListBox1, ensuite c'est quoi

frm.ListChoisJeux ??

Peux pas t'aider comme celà, met plus de code et explique mieux .



jpleroisse
0
Kanar1979 Messages postés 3 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 3 juin 2005
3 juin 2005 à 08:50
Oups, petite erreur de copier colé, J'ai voulu racourcir les noms pour pas encombrer, mal m'en a pris. Voilà, pour tester le truc j'ai pris le petit code suivant:

Sub init()


Dim myrange As Range

frmChoixJeux.ListBox1.RowSource = "Data!b14:b19"
frmChoixJeux.ListBox1.ControlSource = "Data!b12"

Set myrange = Range("d17")

' puis viens le problème: If IsError(frmChoixJeux.ListBox1.Value myrange.Value) False Then
frmChoixJeux.ListBox1.Value = myrange.Value
Call AjoutJeux ' AjoutJeux est une procédure qui travaille à partir de frm.ListBox1.Value
End If


End Sub

Les problèmes restent le même, frmChoixJeux.ListBox1.Value ne prend pas la valeur de myrange, et la commande IF IsError n'empèche absolument pas l'affichage d'un message d'erreur une ligne plus loin
************************************************
95 fois sur 100, un problème informatique se situe entre le clavier et la chaise...
0
Rejoignez-nous