Recherche de valeur dans liste d'arguments

Résolu
Nimsir Messages postés 54 Statut Membre -  
Nimsir Messages postés 54 Statut Membre -
Bonjour,

Tout d'abord, une bonne et heureuse année 2010 à toutes et à tous ;-)

Ensuite, mon problème...

J'ai une feuille excel avec différentes valeurs... J'aimerai une formule qui me rendre un "TRUE" si cette une valeur est présente dans une liste d'arguments, et "FALSE" si elle ne l'est pas.

Donc en admettant que dans A1 j'ai une valeur "papa" et que de C1 à C5 j'ai "soeur, frère, maman, chien, chat, poisson rouge", j'aimerai que dans B1 il me mette un FALSE (car pas dans la liste) et un "TRUE" si cela avait été "chien" par exemple dans A1... Vous me suivez ? ^^
D'autre part, il faudrait que cela respecte la casse. Il devrait me renvoyer "TRUE" quand "chien" se trouve dans la liste, mais "FALSE" quand "Chien" se trouve dans la liste... idem pour "chienne" (FALSE), ...

A vi, tout ça en sachant que j'ai excel en anglais :-)

Merci d'avance pour l'aide que vous pourrez me fournir !

Bonne journée,
Nim
A voir également:

26 réponses

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour tout le monde,

Si j'ai bien suivi, ça pourrait être fait par formule si tu inscris (ou concatène) tous les mots dans une même cellule.
D'autre part : dès lors il mettra "Test JDG" ou "test jdg"
Pourquoi s'embeter avec la casse alors ?
Je t'ai fait les 2 cas : trouve() tient compte de la casse, chercher() n'en tient pas compte.

Sous forme de fichier que tu aies la traduction : nimsir.xls

eric
0
Nimsir Messages postés 54 Statut Membre 13
 
Moui, c'est un peu gênant que ça dure aussi longtemps... Je tentais justement d'automatiser tout ça pour que ça aille plus vite. Car tout faire à la main...

En ce qui concerne le code, j'ai mis celui que tu m'as passé... à savoir:

Sub test()
Dim cel As Range
Dim derlig As Integer, j As Integer, numlig As Integer
derlig = Sheets("Datas").Range("A65536").End(xlUp).Row
numlig = Sheets("Test List").Range("A65536").End(xlUp).Row
With Worksheets("Test List")
For j = 7 To derlig
For Each cel In .Range("A1:A" & numlig)
If cel.Value Like Range("D" & j).Value Then
Range("I" & j) = 0
GoTo suivant
Else
If Range("C" & j) = "" Then
Range("I" & j) = 0
Else
Range("I" & j) = 1
End If
End If
Next cel
suivant:
Next j
End With
End Sub

EDIT: Bon, ça semble fonctionner.

Mais ça dur trop trop longtemps... j'ai 471 ligne à vérifier rien que pour hier... dans quelques jours je vais devoir vérifier pour tous le mois de janvier... ça va être galère.... non faisable...
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
On s'est croisés, pas sûr que tu aies vu mon post 21...
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 769
 
Salut Eriic,
Il est vrai également qu'une bonne formule est préférable à une mauvaise macro.
Bonne journée
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
De toute façon ta 1ère réponse devait répondre au problème si on ne tiens pas compte de la casse (et je ne vois pas l'interet d'en tenir compte)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nimsir Messages postés 54 Statut Membre 13
 
Merci eriic, il semble que ce soit ce bon :-)

Je vais tester ça plus amplement dans un proche avenir. Mais je dirais à première vue que c'est ok.

Et bien sûr un grand merci à pijaku de s'être penché longuement sur mon cas !

Je vais mettre le topic en résolu, mais gardez-le à l'oeil un p'tit temps... on sait jamais ;-)

Encore un tout grand merci !

Et pour te répondre, eriic, pourquoi faire attention à la casse ? Afin que ce soit précis. Aucune mauvaise surprise, on sait jamais.

Allez, bonne journée ;-)
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
faudrait vraiment tomber sur un vicieux qui écrive tEst jDg et que ce ne soit pas un test de chez toi non ? ;-)
0
Nimsir Messages postés 54 Statut Membre 13
 
Tu serais étonné haha :p

De toute manière en admettant même que ce soit quelqu'un d'extérieur, moi je peux pas le savoir donc je le rajoute à la liste. C'est juste histoire d'être sûr :-)
0