Bonjour,
Je souhaiterai pouvoir rechercher un ou plusieurs mots dans ma feuille et selectionner les cellules les contenant,comment faire?
Merci








Bonjour,
Je souhaiterai pouvoir rechercher un ou plusieurs mots dans ma feuille et selectionner les cellules les contenant,comment faire?
Merci
Bonjour,
JP
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 Sub chercheMot() Dim cellule1 As String Dim cellule As Range Dim reponse As String reponse = InputBox("Taper le mot à chercher", , "mardi") If reponse = "" Then Exit Sub Set cellule = Cells.Find(reponse) If Not cellule Is Nothing Then cellule1 = cellule.Address Do MsgBox reponse & " trouvé dans la cellule " & cellule.Address Set cellule = Cells.FindNext(cellule) Loop Until cellule.Address = cellule1 End If End Sub
Bonjour,
Recherche de la chaîne de caractères Marie dans la plage C2:C106 de la feuille nommée db du classeur où se trouve le code VBA
Procédure qui lance la recherche
Fonction d'union (renvoie un range avec des cellules non contiguës)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Sub TestSearch_() Dim myTable(), rng As Range, Txt As String Set rng = ThisWorkbook.Worksheets("db").Range("C2:C106") Txt = "Marie" myTable = SimpleSearch(rng, Txt) If myTable(0) Then Union(myTable()).Select Else MsgBox "Pas trouvé " & Txt End Sub
Fonction de recherche (Utilise la méthode Find)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Function Union(Ranges() As Variant) As Range Dim Elem As Long, rng As Range For Elem = LBound(Ranges) To UBound(Ranges) If TypeOf Ranges(Elem) Is Range Then If Not rng Is Nothing Then Set rng = Application.Union(rng, Ranges(Elem)) Else Set rng = Ranges(Elem) End If Next Elem Set Union = rng End Function
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Function SimpleSearch(rng As Range, What As String, Optional CaseSensitive As Boolean) As Variant Dim Table(), LookIn As Integer, count As Long, C As Range, ResAdr As String LookIn = xlValues Table = Array(False) Set C = rng.Cells(rng.Rows.count, rng.Columns.count) ' LastCell Set C = rng.Find(What, LookIn:=LookIn, After:=C, SearchFormat:=False, LookAt:=xlWhole, MatchCase:=CaseSensitive) If C Is Nothing Then SimpleSearch = Table: Exit Function Table = Array(True): ResAdr = C.Address Do count = count + 1: ReDim Preserve Table(count): Set Table(count) = C Set C = rng.FindNext(C) Loop Until C.Address = ResAdr SimpleSearch = Table End Function
Philippe Tulliez
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer suret si celle-ci est pertinente pensez à voter
Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier








Merci pour vos reponses
Philippe, une fois la recherche faites,comment puis je selectionner mes cellules pour les coller ou bon me semble?
Bonjour,
Alors une légère adaptation du code s'impose
Où rng est la variable objet représentant les cellules qui contiennent les valeurs trouvées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Sub TestSearch_() Dim myTable(), rng As Range, Txt As String Set rng = ThisWorkbook.Worksheets("db").Range("C2:C106") Txt = "Toto" myTable = SimpleSearch(rng, Txt) If myTable(0) Then Set rng = Union(myTable()) Else MsgBox "Pas trouvé " & Txt End If rng.Select End Sub
Donc dans l'exemple rng.Select peut devenir rng.Copy etc ...
Cette variable hérite des méthodes et propriétés de l'objet Range
Philippe Tulliez
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer suret si celle-ci est pertinente pensez à voter
Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier








Je me permets de te lier un exemple de test pour cette fonction,je ne comprends pas d'ou vient l'erreur sur le copy...
Partager