Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Recherche de mots identiques

Manos

XLDnaute Nouveau
Bonjour à tous

je recherche des mots identiques dans 2 cellules différentes
exemple :

Cellule 1 = SARL Dupont de Lille
Cellule 2 = *société DUPONT à Lille

Le résultat de la cellule de recherche serait donc :
DUPONT Lille

est-ce que quelqu'un a une idée sur ce sujet ?
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Recherche de mots identiques

Bonjour,

http://boisgontierjacques.free.fr/fichiers/fonctionsperso/FonctionCommuns2cellules.xls

Code:
Function Communs(cel1 As Range, cel2 As Range)
 Set d1 = CreateObject("Scripting.Dictionary")
 a = Split(cel1, " ")
 b = Split(cel2, " ")
 For Each c In a
   d1(UCase(c)) = ""
 Next c
 Set d2 = CreateObject("Scripting.Dictionary")
  For Each c In b
    If c <> "" And d1.Exists(UCase(c)) Then d2(c) = ""
  Next c
  Communs = Join(d2.keys, " ")
End Function

=communs(A2;B2)

Code:
Function CommunsMAC(cel1 As Range, cel2 As Range)
  a = Split(cel1, " ")
  b = Split(cel2, " ")
  Dim d1 As New Collection
  On Error Resume Next
  For Each c In a
    d1.Add Item:=c, Key:=c
  Next c
  Dim d2 As New Collection
  For Each c In b
    If c <> "" Then
      retour = d1(c)
      If Err = 0 Then d2.Add Item:=c, Key:=c
    End If
  Next c
  For i = 1 To d2.Count
     tmp = tmp & d2(i) & " "
  Next i
  On Error GoTo 0
  CommunsMAC = tmp
End Function



JB
 

Pièces jointes

  • Copie de FonctionCommuns2cellules.xls
    41 KB · Affichages: 22
  • FonctionCommuns2cellulesMAC.xls
    42.5 KB · Affichages: 28
Dernière édition:

Manos

XLDnaute Nouveau
Re : Recherche de mots identiques

En fait nous recherchons combien il y a de mots identiques donc de cellules différentes
exemple :
Cellule A = SARL Dupont à Lille
Cellule B = Société DUPONT Lille

en comparant ces deux cellules il y a deux mots identiques Dupont et Lille
donc le résultat du calcul serait Dupont Lille
 

vgendron

XLDnaute Barbatruc
Re : Recherche de mots identiques

hello

avec ce code qui place le résultat en A3



Code:
Sub comp()
Dim TabMot1
Dim TabMot2


TabMot1 = Split([A1], " ")
TabMot2 = Split([A2], " ")

nbMot1 = UBound(TabMot1)
nbMot2 = UBound(TabMot2)

'MsgBox nbMot1
'MsgBox nbMot2

For Each mot1 In TabMot1
    'MsgBox mot1
    For Each mot2 In TabMot2
        If UCase(mot1) = UCase(mot2) Then
            [A3] = [A3] & " " & mot1
        End If
    Next mot2
Next mot1
   
End Sub
 

Manos

XLDnaute Nouveau
Re : Recherche de mots identiques

Merci pour vos réponses

est-ce qu'il n'y aurait pas moyen d'éviter les macros
je suis débutant dans Excel et si il y a un calcul directement dans une cellule ça serait plus pratique pour nous ?

Et en plus nous souhaitons répéter le calcul sur un grand nombre de cellules
 

Manos

XLDnaute Nouveau
Re : Recherche de mots identiques

Excellent le fichier : FonctionCommuns2cellulesMAC.xls‎

Le problème c'est que j'utilise Excel de façon tout à fait basique
j'ai cru comprendre que pour le fichier en question à un module a été créé
je sais pas comment l'utiliser dans un autre fichier
est-ce que quelqu'un peut m'aider sur ce point la ?
 

Discussions similaires

Réponses
3
Affichages
262
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…