CtrlF +Surligner la case correspondant au premier résultat de la recherche

Bonjour Forum !

Je viens pour avoir votre aide sur un problème assez basique mais je n'arrive à trouver aucune solution pour mon problème ...
J'ai réalisé des recherche sur youtube, le forum et même réalisé plusieurs enregistrement de macro pour connaitre le code mais rien n'i fait ça ne fonctionne pas pour mon code ...

Je m'explique :
Pour une mission je dois comparer plusieurs documents d'un client aux nôtres pour voir si rien n'a été oublié.
Pour cela j'ai réalisé une sheet de notre pdf avec toute les fonctions qui doivent être présente dans leurs documents (le client)
J'ai donc fait une macro pour prendre notre fonction (dans cette Sheet en question) puis qui réalise une recherche dans une autre Sheet qui correspond à leur Excel, voir si elle est présente. Si non alors la macro effectue également la recherche dans une nouvelle Sheet qui correspond à un Word exporté sur Excel. Si à ce moment précis rien ne correspond alors c'est que la fonction n'est pas présente dans leurs documents (ce qui n'est pas le cas pour ce client).
Jusque-là tout va bien :)
Le soucis c'est que j'aimerais par la suite analyser plus en détail l'implémentation de nos fonctions dans leurs bases de données.
Pour cela j'aimerais que ma macro surligne en jaune le nom de la fonction que la macro à trouvée en réalisant le raccourci CTRL F (le premier résultat obtenu suffit largement pas besoin de surligner les 3 résultats de la recherche s’il y en a 3.

(Pour vous montrer mon code j'ai modifié le doc pour des raison confidentiel bien évidemment, j'ai donc réduit l’Excel, le fonctionnement reste le même :))

J'espère avoir été assez clair, n'hésitez pas si vous ne comprenez pas une partie je peux détailler plus si nécessaire :)

Merci d'avance pour votre aide !

Bonjour

Le code simplifié

Sub comparaison_Baden_Scalian()
Dim Trouve1 As Range
'Dim Trouve2 As Range
Dim Reponse As String
Dim SH1 As Worksheet, SH2 As Worksheet, Ligne As Long

Set SH1 = Sheets("TCMS Doc")
Set SH2 = Sheets("MVB.ProcessData")

Ligne = 2

Application.ScreenUpdating = fales

With SH1

    Do While .Cells(Ligne, 1) <> ""

        Set Trouve1 = SH2.Range("A:B").Find(.Cells(Ligne, 1), SearchFormat:=True)

            If Trouve1 Is Nothing Then
                .Cells(Ligne, 2) = "no"
            Else
                .Cells(Ligne, 2) = "yes"
                .Cells(Ligne, 1).Interior.Color = 65535
            End If
            Ligne = Ligne + 1
    Loop
End With
End Sub

Eviter à tout prix les select

Bonjour Chris !

Merci beaucoup pour ta réponse à mon problème !
Il marche bien en effet !
Le soucis c'est que je ne veux pas que ce soit la case dans le sheet TCMS Doc qui soit surligné en jaune mais dans le sheet MVB.ProcessData lorsque le CTRL F fonctionne le premier résultat doit lui être surligné.

Je ne connais donc pas à l'avance la case que ça va être c'est là ou je bloque :s

RE

remplace

.Cells(Ligne, 1).Interior.Color = 65535

par

Trouve1.Interior.Color = 65535

D'accord bah écoute merci beaucoup je pensais pas que c'était si simple ...
Merce d'avoir amélioré mon code c'est vraiment super !!

Dernière petite question, sur mon vrai Excel je dois chercher dans deux Sheets différent (trouve 1 et trouve 2) penses-tu que c'est mieux de faire deux boucle à la suite ou une seul boucle avec les deux Trouve 1et2 différent ?

En tout cas merci beaucoup !

RE

Une boucle est ce qui prend du temps dans Excel donc je pense que 2 find dans la même boucle serait plus rapide

Si beaucoup de données, peut-être charger la table en mémoire pour boucler plus rapidement

Voir aussi les possibilités de PowerQuery souvent très efficace sur des listes de données : il n'y aura pas de couleur mais une liste des fonctions trouvées

Merci pour ton aide !

Bonne fin de journée ! :)

Rechercher des sujets similaires à "ctrlf surligner case correspondant premier resultat recherche"