Microsoft 365 Recherche automatique du mot contenu dans une feuille, à partir d'une cellule dans une autre feuille

R

rw.public

Guest
Bonjour,

J’ai un classeur avec deux feuilles.

Dans la première feuille j’ai 45000 cellules dans une seule colonne, avec dans chaque cellule un mot différent.

Dans la seconde feuille, j’ai 2000 cellules dans une seule colonne, avec dans chaque cellule un ensemble de ces mêmes mots regroupés par familles. Chaque mots de la première feuille n’apparait qu’une seule fois dans la seconde.

J’aimerais pouvoir cliquer sur chaque cellule (avec un mot particulier) de la première feuille pour trouver la cellule de la seconde feuille qui contient ce mots.

Existe-t-il une solution ?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour RW.public,
Un essai en PJ avec :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("A:A")) Is Nothing Then
        Dim tablo, i
        Application.ScreenUpdating = False
        DL = Sheets("Feuil2").Range("A65500").End(xlUp).Row
        tablo = Sheets("Feuil2").Range("A1:A" & DL)
        For i = 1 To UBound(tablo)
            If tablo(i, 1) Like "*" & Target & "*" Then
                MsgBox "Le mot " & Target & " a été trouvé en ligne " & i & Chr(10) & Chr(10) & _
                        "Dans la phrase " & tablo(i, 1)
                Exit Sub
            End If
        Next i
        MsgBox "Désolé. Le mot " & Target & " n'a pas été trouvé. "
    End If
Fin:
End Sub
J'ai fait la sortie par Msgbox en cliquant sur une cellule de la colonne A de feuil1.
 

Pièces jointes

  • RW.xlsm
    16.1 KB · Affichages: 8
R

rw.public

Guest
Bonjour sylvanu,
merci pour votre aide.
J'ai rentré mes données dans votre classeur, ça fonctionne bien pour les 25 premiers, puis, et du plus en plus fréquemment quand on s'éloigne du début, on a "désolé, le mot n'a pas été trouvé".
Mais il ne faut peut-être pas trop perdre du temps là-dessus, parce qu'en l'état, cette solution reste plus fastidieuse qu'en copiant le mot dans "rechercher", qui pointe directement vers la famille. parce qu'il y a tout de même 2000 familles dans la feuille 2.
Je pensais qu'il pourrait y avoir une solution qui fonctionnerait comme "recherche", par exemple en lançant "rechercher" et en plaçant le mot de la cellule de la feuille 1 dans "rechercher", et en activant "rechercher tout".
A tout hasard, je mets le fichier en PJ (j'ai dû réduire la feuille 1 à 1000 entrées, sinon ça ne passe pas (trop volumineux)
 

Pièces jointes

  • Copie de RW.xlsm
    922.6 KB · Affichages: 6

sylvanu

XLDnaute Barbatruc
Supporter XLD
J'ai testé avec votre méthode, malheureusement ça ne marche pas, semble t-il à cause de la police grecque.
Le mot cliqué ,une fois transféré en VBA, se retrouve en police classique VBA, ce qui donne Target="?? ? aa?aa" ( par ex ). Ensuite la recherche sur ce mot ne donne pas de résultat.
Et je ne sais pas comment contourner le problème. Désolé.
 

Discussions similaires

Statistiques des forums

Discussions
315 109
Messages
2 116 306
Membres
112 716
dernier inscrit
jean1234