OVH Cloud OVH Cloud

recherche à partir d'une ListBox

6 réponses
Avatar
Jean-Pierre
Bonjour,

Dans un tableau avec des références, des dates ..., je dois trouver la ligne
correspondant au choix fait dans une ListBox

Tant que je sélectionnais sur un critère dans la colonne A, pas de problème.

Mais, maintenant un second critère (même références mais des dates
différentes) doit être pris en compte en colonne B et mon code ne fonctionne
plus, puisque il me trouve la première rencontrée.

Numligne = Sheets("F1").Application.Match(var1, [A:A], 0)


Merci de votre aide

Jean-Pierre

6 réponses

Avatar
Patrick Fredin
Bonjour,

Personnellement, je parcourrais toutes les lignes de la liste et à chaque
ligne je vérifierais si le critère de la colonne A est rempli, et dans ce
dernier cas si le critère de la colonne B est aussi rempli. Je ne connais
pas la longueur de la liste mais cela ne devrait pas être trop long de toute
façon parce que, pour parcourir la liste, il suffit de changer la référence
des cellules, sans déplacer le curseur.

Je ne sais pas si c'est clair mais je peux te donner plus de détails au
besoin.

--
Patrick

"Jean-Pierre" wrote in message
news:DJHrd.1033$
Bonjour,

Dans un tableau avec des références, des dates ..., je dois trouver la
ligne correspondant au choix fait dans une ListBox

Tant que je sélectionnais sur un critère dans la colonne A, pas de
problème.

Mais, maintenant un second critère (même références mais des dates
différentes) doit être pris en compte en colonne B et mon code ne
fonctionne plus, puisque il me trouve la première rencontrée.

Numligne = Sheets("F1").Application.Match(var1, [A:A], 0)


Merci de votre aide

Jean-Pierre




Avatar
Jean-Pierre
En fait mon problème est le suivant:

Avec un UserForm, l'utilisateur sélectionne dans une ListBox une référence
dans la liste de la colonne A et j'affiche les informations des autres
colonnes correspondant à la même ligne .

Compte tenu que j'ai plusieurs références identiques dans la colonne A mon
code (Sheets("F1").Application.Match(var1, [A:A], 0)) s'arrête toujours à la
première référence.

Le tableau pouvant avoir plus de 1000 lignes aimerait bien eviter les IF
THEN

@+

JP






"Patrick Fredin" a écrit dans le
message de news: %
Bonjour,

Personnellement, je parcourrais toutes les lignes de la liste et à chaque
ligne je vérifierais si le critère de la colonne A est rempli, et dans ce
dernier cas si le critère de la colonne B est aussi rempli. Je ne connais
pas la longueur de la liste mais cela ne devrait pas être trop long de
toute façon parce que, pour parcourir la liste, il suffit de changer la
référence des cellules, sans déplacer le curseur.

Je ne sais pas si c'est clair mais je peux te donner plus de détails au
besoin.

--
Patrick

"Jean-Pierre" wrote in message
news:DJHrd.1033$
Bonjour,

Dans un tableau avec des références, des dates ..., je dois trouver la
ligne correspondant au choix fait dans une ListBox

Tant que je sélectionnais sur un critère dans la colonne A, pas de
problème.

Mais, maintenant un second critère (même références mais des dates
différentes) doit être pris en compte en colonne B et mon code ne
fonctionne plus, puisque il me trouve la première rencontrée.

Numligne = Sheets("F1").Application.Match(var1, [A:A], 0)


Merci de votre aide

Jean-Pierre








Avatar
Patrick Fredin
Que veux-tu faire exactement ?

--
Patrick

"Jean-Pierre" wrote in message
news:inKrd.1113$
En fait mon problème est le suivant:

Avec un UserForm, l'utilisateur sélectionne dans une ListBox une
référence dans la liste de la colonne A et j'affiche les informations des
autres colonnes correspondant à la même ligne .

Compte tenu que j'ai plusieurs références identiques dans la colonne A mon
code (Sheets("F1").Application.Match(var1, [A:A], 0)) s'arrête toujours à
la première référence.

Le tableau pouvant avoir plus de 1000 lignes aimerait bien eviter les IF
THEN

@+

JP






"Patrick Fredin" a écrit dans le
message de news: %
Bonjour,

Personnellement, je parcourrais toutes les lignes de la liste et à chaque
ligne je vérifierais si le critère de la colonne A est rempli, et dans ce
dernier cas si le critère de la colonne B est aussi rempli. Je ne connais
pas la longueur de la liste mais cela ne devrait pas être trop long de
toute façon parce que, pour parcourir la liste, il suffit de changer la
référence des cellules, sans déplacer le curseur.

Je ne sais pas si c'est clair mais je peux te donner plus de détails au
besoin.

--
Patrick

"Jean-Pierre" wrote in message
news:DJHrd.1033$
Bonjour,

Dans un tableau avec des références, des dates ..., je dois trouver la
ligne correspondant au choix fait dans une ListBox

Tant que je sélectionnais sur un critère dans la colonne A, pas de
problème.

Mais, maintenant un second critère (même références mais des dates
différentes) doit être pris en compte en colonne B et mon code ne
fonctionne plus, puisque il me trouve la première rencontrée.

Numligne = Sheets("F1").Application.Match(var1, [A:A], 0)


Merci de votre aide

Jean-Pierre












Avatar
Jean-Pierre
Je souhaite le bon N° de ligne de mon tableau à partir de la selection faite
dans la ListBox sachant qu'il existe des références identiques.

JP


"Patrick Fredin" a écrit dans le
message de news: %
Bonjour,

Personnellement, je parcourrais toutes les lignes de la liste et à chaque
ligne je vérifierais si le critère de la colonne A est rempli, et dans ce
dernier cas si le critère de la colonne B est aussi rempli. Je ne connais
pas la longueur de la liste mais cela ne devrait pas être trop long de
toute façon parce que, pour parcourir la liste, il suffit de changer la
référence des cellules, sans déplacer le curseur.

Je ne sais pas si c'est clair mais je peux te donner plus de détails au
besoin.

--
Patrick

"Jean-Pierre" wrote in message
news:DJHrd.1033$
Bonjour,

Dans un tableau avec des références, des dates ..., je dois trouver la
ligne correspondant au choix fait dans une ListBox

Tant que je sélectionnais sur un critère dans la colonne A, pas de
problème.

Mais, maintenant un second critère (même références mais des dates
différentes) doit être pris en compte en colonne B et mon code ne
fonctionne plus, puisque il me trouve la première rencontrée.

Numligne = Sheets("F1").Application.Match(var1, [A:A], 0)


Merci de votre aide

Jean-Pierre








Avatar
AV
Pour trouver la ligne qui correspond à une recherche en fonction de 2 critères
(var1 en plage A1:A50 et var2 en plage B1:B50:

laLigne = [match(var1&var2,A1:A50&B1:B50,0)]

AV
Avatar
Jean-Pierre
Merci pour ton aide

@+

JP

"AV" a écrit dans le message de news:
%23%
Pour trouver la ligne qui correspond à une recherche en fonction de 2
critères
(var1 en plage A1:A50 et var2 en plage B1:B50:

laLigne = [match(var1&var2,A1:A50&B1:B50,0)]

AV