Salut,
Alors j'ai un classeur excel qui doit être rempli automatiquement
ce que je voudrai faire
c'est de chercher un mot "Exemple" dans une feuille ''feuil1"
si mot trouvé dans "feuil2" cellule A1 "YES" si mot pas trouvé "NO"
Merci d'avance![]()
Salut,
Alors j'ai un classeur excel qui doit être rempli automatiquement
ce que je voudrai faire
c'est de chercher un mot "Exemple" dans une feuille ''feuil1"
si mot trouvé dans "feuil2" cellule A1 "YES" si mot pas trouvé "NO"
Merci d'avance![]()
Bonjour,
Voici quelques briques pour construire ta macro :
- Boucle pour chercher dans les cellules : For Each Cells in Cells (parexemple)
- chercher un mots dans une cellule : Instr()
a bientôt
Méthode Find appliqué au UsedRange de la feuil1.
https://msdn.microsoft.com/fr-fr/lib...6(v=office.15)
Mettre le Find précédent dans le test d'une structure If.si mot trouvé dans "feuil2" cellule A1 "YES" si mot pas trouvé "NO"
Bonjour
s'agissant de ne savoir que si le mot est présent, même la méthode WorksheetFunction.Countif pourrait être une solution; ainsi (exemple)
Ce n'est donc pas là en soi un problème vraiment majeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part MsgBox WorksheetFunction.CountIf(Cells, "*lemot*")
Ce qui me gêne par contre vraiment, c'est la définition de "mot". Pour moi, un "mot" n'est pas simplement une chaîne de caractères présente au sein d'une autre chaîne. Un "mot" ne saurait être précédé ou suivi par autre chose que les caractères suivants :
- aucun
- un espace
- une virgule, un point ou un point-virgule (si après le mot)
Plus complexe encore est l'interprétation, dans certains cas, du tiret et/ou de l'apostrophe, mais également des guillemets (citations, etc ..)
Bonjour ordonc
Hé oui ...
Sans cette gêne, d'ailleurs, une simple formule en A1 ferait l'affaire --->> exemple
pour examiner par exemple la plage A2
Code : Sélectionner tout - Visualiser dans une fenêtre à part =SI(NB.SI(A2:P100000;"*lemot*")>0; "YES";"NO")100000.
Pour le reste (la gêne possible relative à ce que l'on définit comme mot), j'ai déjà eu l'occasion, il n'y a pas si longtemps, d'en "disserter". Mes remarques ayant été mal "ressenties", je me contente maintenant de signaler cet aspect, mais n'y reviendrai pas.
Bonjour, enfin la solution de unparia marche
Mais si c'est possible de changer votre formule en vba parce que j'utilise la fonction 'clearcontents' donc a chaque fois je dois saisir la formule![]()
Partager