J'utilise la fonction 'Find' pour rechercher une donnée dans un tableau. Lorsque je fais ma recherche, je saisi un mot au singulier, il me retrouve toutes les occurences de ce mot (aussi bien au singulier qu'au pluriel) dans mon tableau mais lorsque je saisis un mot au pluriel il ne me récupère que les mots au pluriel. Que faut il faire pour qu'il me trouve toutes les occurences de ma recherche (aussi bien le pluriel que le singulier)?
J'espère être assez claire.
Merci d'avance pour votre aide [file name=SUIVINC.zip size=20259]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/SUIVINC.zip[/file]
Tout d'abord, il faut comprendre comment fonctionne le find. De un je crois que tu sais déjà cela Etoile. De deux, tu ne peux défier la fonction en moins d'y ajouter une propriété de grammaire. C'est soit Part ou Whole. Maintenant, tu pourrais batir une logique pour différencier le singulier du pluriel. Sinon, l'utilisateur doit faire plus d'une fois le find.
Hervé fait encore preuve de génie. La difficulté que j'ai avec la demande d'Etoile, c'est que si effectivement, le pluriel ou le singulier se distingue que par la présente d'un 's' (ou 'S' bien sur), Hervé è une excellente solution. Étant donné que le pluriel ou le singulier de quoi n'est pas déclaré dans la demande, je suppose dans le sens large. Ex: Travail, travaux, rejouir, réjouissent. Le féminin et le masculin est peut être aussi en cause ???
Je ne veux pas présenter que des embuches, alors voici ce que je propose:
1- Etoile peux-tu nous donner plus de précision sur le pluriels de quoi s.v.p
2- Etoile, il faudrait savoir si les entrées sont contrôlées. Minuscule, majuscule, pluriel, singulier, masculin, féminin.(En passant, je suis ce qui se fait de plus pourrit en terme de conjugaison et probablement de grammaire aussi ! )
3- Etoile, envoie nous un fichier avec des entées réels pour nous donner un meilleur aperçu.
J'ai essayé la fonction INSTR mais elle ne fonctionne pas chez moi.
J'entendais le pluriel simplement avec un 's' à la fin du mot. Mais si
HellBoy peut me donner une solution avec le pluriel au sens large, je veux bien la regarder. Les entrées saisies par l'utilisateur ne sont pas controlées.
J'ai essayé la fonction INSTR mais elle ne fonctionne pas chez moi.
J'entendais le pluriel simplement avec un 's' à la fin du mot. Mais si
HellBoy peut me donner une solution avec le pluriel au sens large, je veux bien la regarder. Les entrées saisies par l'utilisateur ne sont pas controlées.
Une fois déclaré clairement ce que l'on veut, on peu arrêter de deviner ce que sous entand la demande. On veux bien faire, mais ça prend un minimum de la part du demandeur. Il me ferait un grand plaisir de regarder la partie de la grammaire, mais comme tu ne précise pas si ça peut 'vraiment' servir alors...
Ceci dit, en tant qu'âme charitable, qui tente de mettre de la lumière la ou d'autre ne broie que du noir.. est-ce que ceci pourrait vous convenir ?
Code:
Mot = InputBox('Mot à rechercher ?')
Select Case Right(Mot, 1)
Case 's', 'S'
Mot = Mid(Mot, 1, Len(Mot) - 1) & '*'
Else
Mot = Mot & '*'
End Select
If Mot = '*' Then Exit Sub
Set C = Plage.Find(What:=Mot, LookAt:=xlWhole)
Mais il faut quand même se méfier, étant donner qu'on sait que l'utilisateur libre cours de ses entrées de données, je je peux garantir avec ce code le début du mot de recherche.(Ni la grammaire bien entendue) :evil: