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
| Dim LignePrecedente as Long 'dans la partie declaration du module
Sub MacroPrincipale
Dim CopieOk as Boolean
Do
CopieOk = RechercheMot(MotCible)
If CopieOk = False Then Exit Do
Loop
End Sub
Function RechercheMot(MotCible As String) As Boolean
Dim x As Integer, y As Integer
On Error Resume Next
'Recherche d'un mot dans la plage A1:A20 de la Feuil1
x = Application.Match(MotCible, Worksheets("Feuil1").Range("A" & LignePrecedente +1 & ":A20"), 0)
On Error GoTo 0
If x <> 0 Then
'Recherche la premiere ligne vide dans la Feuil2
y = Worksheets("Feuil2").Range("A65536").End(xlUp).Row + 1
Worksheets("Feuil1").Rows(x).Copy _
Destination:=Worksheets("Feuil2").Cells(y, 1)
x = 0
RechercheMot = True
LignePrecedente = y
Else: RechercheMot = False
End If
End Function |
Partager