Bonjour
(Un fichier aurait été appréciable )
je te prose quelque chose de "complet", en effet je me permet de pousser le code pour que tu puisse analyser les différentes mécaniques possible pour ce genre d'opération très courante !
Je t'invite aussi à te renseigner sur les mécanisme de boucle (regarde sur le forum ou sur internet il y a de quoi faire )
(Ce n'est pas par ce que un code est "long" qu'il n'est pas moins efficace et/ou rapide)
Voici mon code (que tu retrouveras dan le fichier joint) :
Sub Trouver()
Dim LaPlage As Range
Dim FeuilResult As Worksheet
Dim JeCherche As String, ListCell As String
Dim Cell As Object
Dim DernLig As Integer, i As Integer, Cpt As Integer
Dim TBL As Variant
'Déclaration des variables
Set LaPlage = ThisWorkbook.Worksheets("BD").Range("A1:C50")
Set FeuilResult = ThisWorkbook.Worksheets("Résult")
JeCherche = "CR"
'Analyse des cellules à la recherche du critère de recherche
For Each Cell In LaPlage
If Cell = JeCherche Then
If ListCell = "" Then
ListCell = Cell.Address
Else
ListCell = ListCell & "-" & Cell.Address
End If
End If
Next Cell
'Réstitution de la recherche
TBL = Split(ListCell, "-")
With FeuilResult
DernLig = .Range("A" & .Rows.Count).End(xlUp).Row
.Range("A1:A" & DernLig).Clear
Cpt = 0
For i = LBound(TBL) To UBound(TBL)
.Cells(i + 1, 1) = TBL(i)
Cpt = Cpt + 1
Next i
End With
MsgBox "Fin de l'analyse : " & Cpt & " résultat(s)." & Chr(10) & "Résulta(s) à visioner sur la feuille """ & FeuilResult.Name & """", vbInformation, "Fin de l'analyse"
End Sub