Bonjour,
Je souhaite pouvoir par le biais d'un bouton "recherche", rechercher un mot clef contenu dans une cellule des colonnes B, C, D et E. Pour cela je souhaiterais parcourir toutes les cellules de ces 4 colonnes, et que si jamais par exemple je recherche le mot "controle", qu'il détecte même la cellule contenant "opérateur de controle".
Voici la macro que j'ai mais qui ne correspond pas du tout à mon besoin puisque celle ci s'applique à une seule colonne, et que s'il y a un vide la macro s'arrête alors que moi je ne veux pas m'arrêter (je veux parcourir les lignes 2 à 100), et que la il faut que le mot de recherche soit égale au cnotenu de la cellule...
Sinon j'ai ce code qui marche très bien mais il faut que le mot soit identique à la cellule or je voudrais que le mot soit ou identique à la cellule ou contenu ds la cellule. Aussi je voudrais que la macro ne sarrete pas au mot trouvé, mais qu'elles ne laisse affiché que les lignes ou ont été trouvé le mot...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Sub recherche() Message = "Entre le nom à chercher" Title = "Recherche d'une nom" MyValue = InputBox(Message, Title, Default) Range("B1").Select 'entre la première cellule de la colonne des noms For I = 1 To 50 'max de ligne dans ta colonne If ActiveCell.Value = MyValue Then GoTo Fin If ActiveCell.Value = "" Then GoTo Fin ActiveCell.Offset(1, 0).Range("A1").Select Next Fin: End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Sub Recherche_Mot() Dim Str_Plage As String Dim Cel As Range Dim Feuil As Worksheet Dim Str_critère As String Dim X As Byte Str_critère = InputBox("Mot à rechercher (quelque soit la langue)?") For Each Feuil In Sheets Str_Plage = Feuil.UsedRange.Address For Each Cel In Feuil.Range(Str_Plage) If UCase(Cel) = UCase(Str_critère) Then X = MsgBox("Mot """ & Str_critère & """ trouvé :" & Chr(13) & Chr(13) & _ "Cliquer Oui pour voir la traduction," & Chr(13) & _ "Non pour continuer la recherche," & Chr(13) & _ "Annuler pour arrêter la recherche." & Chr(13), vbDefaultButton1 + _ vbQuestion + vbYesNoCancel, "MOT TROUVÉ") Select Case X Case 6 Feuil.Activate Cel.Activate Exit Sub Case 2 'annuler on sort Exit Sub Case Else 'Non=7 'on fait rien, mais on pourrait End Select End If Next Cel Next Feuil MsgBox ("pas trouvé") End Sub
Partager