Discussion: ComboBox, ListeBox
Afficher un message
Vieux 26/06/2003, 17h11   #4 (permalink)
zon
Guest
 
Messages: n/a
Par défaut Re: ComboBox, ListeBox

Bonjour Rom et le forum,

---> Pour récuperer la valeur de ta listbox Lst_Axe

L'erreur vient du exit for il est placé aprés le end if, ce qui veut dire que si l'élément sélectionné n'est pas celui pour lequel i=1 alors on sort de suite de la boucle.=> à mettre AVANT le end if .

De plus il y avait un piége, au niveau de la boucle , Listcount renvoie 4 ici par contre comme une listbox renvoie un tableau VBA (ARRAY), Le 1 er élément est 0, le 4 eme est 3, donc faire démarrer I à 0 jusu'à listcount-1

Enfin comme tu as déjà les valeurs de ta cbo_nom qui sont déjà inscrits dans ta feuille axes, il est pas donc nécessaire de le reécrire à la dernière cellule mais on va chercher plutôt cette valeur ici dans une boucle (on pourrait faire aussi un find) comme suit, on mettra dans la colonne A l'axe et colonne C le niveau

Dim C as range
.... La boucle avec le I à modifier
with sheets("axes")
For each C in .range("B2:B"&.[B65536].enc(xlup).row)
if C.text=cbo_nom.value then
c.offset(0,-1)=lst-axe.value 'Offset voir dans l'aide VBA
c.offset(0,1)=txt_niveau
exit for 'attention à mettre avnat le end if le exit for
end if
...

----> Pour initialiser ta combo pour les noms dans userform initialize
Le probleme vient que tu cherches le dernier n° de ligne de la feuille code en ne specifiant pas la feuille comme suit

Cbo_Nom.RowSource = "axes!" & Range("B2:B" & [B65536].End(xlUp).Row).Address

il manque sheets("axes") devant [B65536].... pour bien recuperer le N° de la colonne B de la feuille code...


A+++