Bonjour à tous,

Ça fait déjà un moment que je rame sur un problème.

J'ai trois feuilles visibles (par exemple : A - B - C).
Je lance la macro suivante pour trouver et sélectionner plus rapidement des noms (situés dans la colonne C) en fonction de la totalité ou d'une portion de leurs caractères. En fait, j'ai "automatisé" un CTRL F.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
    With ActiveSheet
        Range("C26:C500").Select
        Application.Dialogs(xlDialogFormulaFind).Show
 
        Rows(ActiveCell.Row).Select
        ActiveCell.Offset(0, 7).Select
    End With
Ça marche plutôt bien. Chaque nom est bien identifié en fonction de son contenu. Problème : si je continue le recherche, elle se poursuit sur les feuilles suivantes (B et C, etc.) !

Je ne comprends pas pourquoi ladite recherche ne s'exécute pas exclusivement sur la feuille active alors que j'ai bien commencé le code par "with ActiveSheet".
J'ai regardé dans les options de CTRL F (avec l'enregistreur de macro) mais n'ai rien trouvé.
Un grand merci d'avance pour votre aide.
Cdt

PS : J'ai essayé une autre méthode avec quelque chose du genre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
With ActiveSheet
 
    On Error Resume Next
    Var = InputBox("Mot à rechercher ?")
    If Var = "" Then Exit Sub
 
    Set MotTrouvé = Cells.Find(What:="Var", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
 
    If Not MotTrouvé Is Nothing Then
Ça me renvoie le premier nom qui correspond à la recherche et je ne vois absolument pas comment passer au second ! A vrai dire, ça me paraît plus compliqué que la première solution.

J'aime bien la première méthode mais je voudrais simplement qu'elle se limite à la seule feuille active.