Bonjour William, Vériland, StepLof et ceux, celles qui passeront par là...
Si j'ai bien compris, il te faudrait ce que j'ai fait dans "Contact Manager"
voir ce fil
Pour te donner une idée voici un extrait du code utilisé :
Private Sub CommandButton2_Click() 'MODE RECHERCHE STRING
Caption = "Thierry's Démo Mode Recherche par String"
Dim Cherche As String
Dim L As Integer
Dim Maplage As Range
Dim FirstADdress As String
Dim C As Object
Cherche = TextBox4
If Cherche = "" Then
ListBox2.Clear
Exit Sub
End If
L = ThisWorkbook.Sheets("Database").Range("A65536").End(xlUp).Row
Set Maplage = ThisWorkbook.Sheets("Database").Range("A2:C" & L)
With Maplage
Set C = .Find(Cherche, LookIn:=xlValues)
If Not C Is Nothing Then
FirstADdress = C.Address
Do
ListBox2.AddItem C
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> FirstADdress
End If
End With
Ici je remplie une ListBox, mais le principe serait le même pour écrire sur une feuille par exemple en rajoutant en seconde colonne l'adresse des cellules :
Option Explicit
Private Sub CommandButton1_Click()
Dim Cherche As String
Dim L As Integer
Dim i As Integer
Dim Maplage As Range
Dim FirstADdress As String
Dim C As Object
Cherche = InputBox("Tapez votre recherche", "RECHERCHE")
If Cherche = "" Then Exit Sub
i = 1
L = Sheets("Feuil1").Range("A65536").End(xlUp).Row
Set Maplage = Sheets("Feuil1").Range("A2:C" & L)
With Maplage
Set C = .Find(Cherche, LookIn:=xlValues)
If Not C Is Nothing Then
FirstADdress = C.Address
Do
With Sheets("Feuil1")
.Cells(i, 3) = C
.Cells(i, 4) = C.Address
i = i + 1
End With
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> FirstADdress
End If
End With
End Sub
Attention toutefois, si par exemple en A1:A20 to as "Toto1, Toto2, Toto3... Etc Toto20.... Si tu cherches "2", ce programme of course te retournera deux occurences en colonne "C" et "D" pour "Toto2" & aussi "Toto20"...
Mais sinon çà tourne !! allez roulez jeunesse !! lol
Bon Appétit
@+Thierry
PS : si tu veux le "Contact Manager" je te l'envoie aussi William