pb de recherche dans une colonne

Le
nono
bonjour,
voila je fais une recherche d une valeur avec le code vba afin de connaitre
la ligne de cette valeur dans une tableau.
j utilise cette formule
Set c = Worksheets("calcul").Range("a1:a400").Find(ab, LookIn:=xlValues)
ligne=c.row
ou ab represente une variable qui prend la valeur que je lui donne comme
ab="AMBP17A" (la recherche marche avec cette valeur)
mais voila cela ne marche pas pour toutes les valeurs comme par exemple
ab="28SAP12I" ou ab="28".
quelqu un pet m aider a trouver un code pouvant faire une recherche dans un
colonne et marchant avec n importe quelle valeur a chercher.
merci de votre aide.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
docm
Le #1411825
Bonjour nono.
Sous toutes réserves, j'ai ajouté LookAt:=xlWhole à ta syntaxe.
Et ça semble fonctionner.
Gérard.

Set c = Worksheets("calcul").Range("a1:a400"). _
Find(ab, LookIn:=xlValues, LookAt:=xlWhole)

"nono" news:
bonjour,
voila je fais une recherche d une valeur avec le code vba afin de
connaitre

la ligne de cette valeur dans une tableau.
j utilise cette formule
Set c = Worksheets("calcul").Range("a1:a400").Find(ab, LookIn:=xlValues)
ligne=c.row
ou ab represente une variable qui prend la valeur que je lui donne
comme

ab="AMBP17A" (la recherche marche avec cette valeur)
mais voila cela ne marche pas pour toutes les valeurs comme par exemple
ab="28SAP12I" ou ab="28".
quelqu un pet m aider a trouver un code pouvant faire une recherche dans
un

colonne et marchant avec n importe quelle valeur a chercher.
merci de votre aide.




AV
Le #1411824
ligne = Application.Match(ab, [calcul!A1:A400], 0)

AV
docm
Le #1392626
Bonjour AV.

La fonction Match me cause le problème suivant:
ab = 28
ligne = Application.Match(ab, [calcul!A1:A400], 0)
fonctionne bien.

ab = "28"
ligne = Application.Match(ab, [calcul!A1:A400], 0)
ne fonctionne pas.

Gérard

"AV" news:#
ligne = Application.Match(ab, [calcul!A1:A400], 0)

AV




michdenis
Le #1392625
Bonjour docm,

Le chiffre 42 ou une chaîne de caractère "42", ce n'est pas la même chose...et c'est ce qui mystifie la fonction
"Match()".



Cependant ceci fonctionne très bien nonobstant la nuance énoncée précédemment .

On Error Resume Next
ligne = [calcul!A1:A400].Find(ab, LookIn:=xlValues, LookAt:=xlWhole).Row


Salutations!




"docm" Bonjour AV.

La fonction Match me cause le problème suivant:
ab = 28
ligne = Application.Match(ab, [calcul!A1:A400], 0)
fonctionne bien.

ab = "28"
ligne = Application.Match(ab, [calcul!A1:A400], 0)
ne fonctionne pas.

Gérard

"AV" news:#
ligne = Application.Match(ab, [calcul!A1:A400], 0)

AV




AV
Le #1392619
La fonction Match me cause le problème suivant:
ab = 28
ligne = Application.Match(ab, [calcul!A1:A400], 0)
fonctionne bien.

ab = "28"
ligne = Application.Match(ab, [calcul!A1:A400], 0)
ne fonctionne pas.


Ben justement elle marche très bien (trop bien ?) puisque, comme le fait
remarquer fort justement Denis, on ne cherche pas, dans les 2 cas, la même chose
(num ou alphanum) !
Si la plage de recherche ne contient que des valeurs numériques ou des valeurs
qui "en ont l'allure" :

ligne = Application.Match(ab * 1, [calcul!A1:A400], 0)

AV

docm
Le #1411808
Bonjour Denis.
Je te remercie. Je vais donc préférer la fonction Find qui est capable de
trouver
aussi bien le chiffre 42 que la chaîne de caractère "42".

Amicalement.

"michdenis" news:
Bonjour docm,

Le chiffre 42 ou une chaîne de caractère "42", ce n'est pas la même
chose...et c'est ce qui mystifie la fonction

"Match()".



Cependant ceci fonctionne très bien nonobstant la nuance énoncée
précédemment .


On Error Resume Next
ligne = [calcul!A1:A400].Find(ab, LookIn:=xlValues, LookAt:=xlWhole).Row


Salutations!




"docm" news:

Bonjour AV.

La fonction Match me cause le problème suivant:
ab = 28
ligne = Application.Match(ab, [calcul!A1:A400], 0)
fonctionne bien.

ab = "28"
ligne = Application.Match(ab, [calcul!A1:A400], 0)
ne fonctionne pas.

Gérard

"AV" news:#
ligne = Application.Match(ab, [calcul!A1:A400], 0)

AV









Publicité
Poster une réponse
Anonyme