VBA - Trouver un mot dans une plage

Résolu/Fermé
Peon33 - 9 déc. 2013 à 17:08
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 10 déc. 2013 à 11:35
Bonjour à toute et à tous !

Malgré mes recherches, je n'arrive pas à trouver une solution à un problème qui au premier plan me semble simple..

J'ai dans la colonne A une grande quantité de mots.
Je cherche les cells ayant un mot en particulier.


Par exemple : je cherche les cells ayant le mot "toto"
Pour :
- toto : ça doit fonctionner
- toto galére : ça doit fonctionner
- totoo : ça ne doit pas le prendre
-toto33 : ça ne doit pas le prendre
..etc

Les fonctions find, instr ou like ne me permettent pas de sélectionner uniquement les cellules comportant mon mot exact...

quelqu'un pourrait il éclairer ma lanterne ? :)
merci d'avance !

4 réponses

melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
Modifié par pijaku le 10/12/2013 à 08:58
Bonjour,

Voici une macro permettant de trouver le mot défini dans la variable mot où que se trouve le mot dans la cellule :

Sub trouver toto()

mot = "toto"
nbcarmot = Len(mot) 'nombre de caractère dans le mot

For i = 2 To 500 ' de la ligne 2 à 500
    
    nbcarcellule = Len(Cells(i, 2)) 'nombre de caractère dans la cellule de la ligne i colonne 2
    d = 0
    If nbcarcellule >= nbcarmot Then 'si la cellule contient au moins autant de caractère que dans le mot
        Do While c - d >= b 'boucle permettant de trouver le mot dans la cellule
            a = Left(Right(Cells(i, 2), nbcarcellule - d), nbcarmot) 'ligne qui peut être enlever mais permet de voir ce qui est comparé en F8
            If a = mot Then 'si le mot est trouvé
                w = 1 'la variable w est égale alors à 1
            End If
            d = d + 1 'permettant d'étudier toute la cellule
       
        Loop
    End If
Next

End Sub
2