Numero ligne après selection dans combo

HESAMI

XLDnaute Nouveau
Bonjour à tous

j'essaie de récuperer le numero de la ligne de la selection d'un valeur dans une listbox.
Le soucis que j'ai est le suivant.
Mes données sont filtrées, et si je définie une variable en donnant comme instructions :
ex Numeroligne = listbox1.listindex
cela ne fonctionne pas
le prénom affiché ne correspond pas ainsi que toutes les autres info
j'envoie mon fichier pour exemple
 

Pièces jointes

  • essai.zip
    32.4 KB · Affichages: 36
  • essai.zip
    32.4 KB · Affichages: 34
  • essai.zip
    32.4 KB · Affichages: 36

Luki

XLDnaute Accro
Re : Numero ligne après selection dans combo

bonsoir Hesami,

Essaie de remplacer cette ligne dans la macro "liste_click" :

numeroligne = liste.ListIndex + 1 'récupere le numéro de la ligne de la valeur de la textbox

Par:
numeroligne = Application.Match(liste.Value, Columns(6), 0)

Dis-nous si ça corrige ton problème.
 

Luki

XLDnaute Accro
Re : Numero ligne après selection dans combo

Bonjour Hasemi,

J'ai refait le test et ça fonctionne chez moi, mais je n'ai peut-être pas compris ta demande.

Ce que j'ai compris :

Ton souci c'est que quand tu sélectionne un nom dans le combo de ton Uform, les zones texte 'prénom' et 'sap' ne sont pas les bonnes.

Mes test:
Il y a une part de ta macro que je ne peux pas tester, c'est le tri de ta feuille à l'ouverture du Uform. Pb de versions peut-être, ça plante chez moi, je l'ai donc désactivée et dans ce cas pas de problème pour mettre à jour le Uform.
J'ai testé aussi sur la plage filtrée; dans ce cas, seuls apparaissent les nom résultant du filtrage dans le combo.

A vérifier :
As-tu pensé à désactiver la ligne de code :
numeroligne = liste.ListIndex + 1 'récupere le numéro de la ligne de la valeur de la textbox
Car s'il elle est toujours active et suit le code que je t'ai donné, elle annule la correction apportée.

Regarde et dis-nous



Edition:

Peux-tu préciser ce que tu veux dire par " la ligne qui n'est pas filtrée?"
 

Luki

XLDnaute Accro
Re : Numero ligne après selection dans combo

Re,

Je n'ai pas testé toutes les fonctions de ton Uform : seulement la mise à jour par un clic dans le combo " nom" à l'ouverture du Uform.

Je viens de voir que le problème se pose ailleurs dans ton code. Il faudra aussi remplacer le code dans les autres cas.

A+
 

HESAMI

XLDnaute Nouveau
Re : Numero ligne après selection dans combo

LUKI
Tu avais parfaitement raison, du coup, j'ai récupérer le code pour créer une macro et je ne change qu'à 2 endroits.
Mais maintenant j'ai un autre problème,
les infos s'affichent lorsque je selectionne un nom dans la listbox, par contre dès que je change l'information dans la combo, je ne récupere plus rien.
J'ai essayé liste.clear mais cela ne fonctionne pas non plus.
il plante sur l'affichage de la nouvelle valeur de la listbox et ainsi de suite
 

HESAMI

XLDnaute Nouveau
Re : Numero ligne après selection dans combo

ne tiens pas compte de mon soucis.
Mon message est arrivé juste après le tien et a priori tu as résolu le problème que j'avais. je regarde et je te tiens au courant
Merci beaucoup pour ton aide.
 

Luki

XLDnaute Accro
Re : Numero ligne après selection dans combo

Tant mieux alors!

Je me permets d'attirer ton attention sur 3 points encore, repérés dans ton code:

1 - Le bloc "with" est inutile pour faire référence à ton Uform si le code se trouve dans le module du Uform :
Code:
With Userform1
  .textbox1="bonjour"
  .textbox2="salut"
end with
revient à ecrire :
Code:
  textbox1="bonjour"
  textbox2="salut"
2 - l'usage des points "." danc le bloc "with":
Imaginons que la feuille1 est active, on veut faire référence aux cellules de la feuille 2.
Code:
with worksheets("feuil2")
  cells(1,1)="pol"
  cells(1,2)="jean"
end with
...fera référence par défaut à la feuille active, donc aux cellules de la feuil1, le bloc with n'a aucun effet dans ce cas. Par contre :
Code:
with worksheets("feuil2")
  [COLOR=Red][B].[/B][/COLOR]cells(1,1)="pol"
  [COLOR=Red][B].[/B][/COLOR]cells(1,2)="jean"
end with
fera référence aux cellules de la feuille2, à cause du point placé devant chaque instruction.

3 - Stocker les valeurs "vrai/faux" d'un checkBox dans une feuille.
Excel reconnait ces valeurs. Tu peux donc simplifier le code (dans la mesure où ta saisie se fait par le Uform) de cette manière :
Code:
 CheckBox1.value=cells(numeroligne,numérocolonne).value
et récupérer la valeur :
Code:
 cells(numeroligne,numérocolonne).value=CheckBox1.value
Voilà, bon courage pour la suite.:)
 

Discussions similaires

Statistiques des forums

Discussions
312 763
Messages
2 091 826
Membres
105 076
dernier inscrit
simeand