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.
Ç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.) !
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
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 :
Ç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.
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
J'aime bien la première méthode mais je voudrais simplement qu'elle se limite à la seule feuille active.
Partager