Excel - formule de texte complexe

Résolu/Fermé
6FoursPlaya83 - 22 juin 2012 à 09:45
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 25 juin 2012 à 20:36
Bonjour,



je souhaiterai créer une fonction personnalisée qui compare le nombre de mots identiques entre deux cellules en excluant les mots de moins de XX lettres

Ex :
En A1, j'ai : "Salut je suis une brèle en formule excel"
en A2, j'ai : "T'inkiète, je vais te donner une super formule excel"

En option, je dis de ne comparer que les mots de plus de 3 lettres
Résultat de la formule : 2 (formule et excel), soit 2 mots

En bonus, ce serait super de dire que le mot est présent si dans un cas je l'ai au singulier et dans l'autre au pluriel (Ex : Si j'avais mis un "s" à la fin de excel dans une seule des des celluless, la formule m'aurait tout de même renvoyeé "2"

Merci par avance !!!
A+++
A voir également:

5 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 750
22 juin 2012 à 10:29
Bonjour,

En fait, tu as créées 3 sujets, je pense que des trois la finalité c'est celui-ci. Non?

Si non, dis nous tout de suite et exactement ou tu veux en venir, ça sera plus simple...

Si oui, saches qu'il faudra absolument passer par du VBA. Tu maîtrises?
0
6FoursPlaya83
22 juin 2012 à 15:47
Oui effectivement c'est la finalité du problème.
Désolé mais je suis un peu nouveau dans les forums et je ne pensait pas qu'il y avait autant de personnes qui soit prêtes à se pencher sur mon problème précis alors j'ai voulu pour ne pas être bloqué dans un premier abord décortiquer mon problème en plusieurs....

Mais effectivement tout est résumé dans ce post.
Sinon pour vba je maitrise pas mais je vais me faire un petit tuto sur le net si il faut....
A+
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 750
22 juin 2012 à 17:41
Alors, je te conseille de partir de la formule personnalisée que t'a donné michel_m ICI.
Je reviendrai en début de semaine voir les avancées de ce sujet.
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 238
22 juin 2012 à 19:15
Bonjour tout le monde,

une proposition :
Function nbMots4(phrase1 As String, phrase2 As String) As Long
    Dim phr1, phr2, i As Long, j As Long
    phr1 = Split(phrase1, " ")
    phr2 = Split(phrase2, " ")
    For i = 0 To UBound(phr1)
        If Len(phr1(i)) < 4 Then phr1(i) = ""
        If Right(phr1(i), 1) = "s" Then phr1(i) = Left(phr1(i), Len(phr1(i)) - 1)
    Next i
    For i = 0 To UBound(phr2)
        If Len(phr2(i)) < 4 Then phr2(i) = ""
        If Right(phr2(i), 1) = "s" Then phr2(i) = Left(phr2(i), Len(phr2(i)) - 1)
    Next i
    For i = 0 To UBound(phr1)
        For j = 0 To UBound(phr2)
            If phr1(i) <> "" And phr1(i) = phr2(j) Then nbMots4 = nbMots4 + 1
        Next j
    Next i
End Function

https://www.cjoint.com/?BFwtpLMDQxa

eric
0
6FoursPlaya83
25 juin 2012 à 11:16
super ça marche nickel !!!
Merci encore
0
6FoursPlaya83
25 juin 2012 à 17:56
Rebonjour eriiic,

je viens de bien utiliser ta formule et j'aurai une petite demande d'amélioration stp :
En fait, je voudrais que le test ne soit pas sensible à la casse (majuscule et minuscules) et aux accents
Je souhaiterai également que l'auxiliaire d'un mot (ex : le l' devant un mot, exemple : l'avatar) ne soit pas pris en compte dans la recherche de mot.

Exemple :
Si en A1 j'ai : L'état
Et en A2 j'ai : Etat

je souhaiterai que la formule renvoie "1" et non pas "0" comme c'est le cas actuellement...

Merci encore
Cordialement
0

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

Posez votre question
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 238
25 juin 2012 à 20:36
Bonjour,

Je ne fais que les minuscules pour les accents.
Si tu as également des majuscules accentuées colle la liste ici.
https://www.cjoint.com/?BFzuI0fUepD

eric
0