Private Sub Rechercher_Click()
Dim mot As String 'déclare la variable mot
Dim annee As Integer 'déclare la variable annee
Dim o_année As String 'déclare la variable o_année (Onglet Année)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim r As Range 'déclare la variable r (Recherche)
Dim pa As String 'déclare la variable pa (Première Adresse)
Dim dest As Range 'déclare la variable dest (cellule de DESTination)
mot = TextBox1.Value 'définit la variable mot
annee = 2008 'définit la variable annee
While annee < 2014 'boucle tant qu'annee est inférieur à 2014
o_année = CStr(annee) 'définit la variable o_année
With Sheets(o_annee) 'prend en compte l'onglet o_année
dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée de la colonne A de l'onglet o_année
Set pl = .Range("A1:K" & dl) 'définit la plage pl (colonnes A à K)
Set r = pl.Find(mot, , xlValues, xlWhole) 'définit la recherche r (Recherche "mot" dans la plage pl)
If Not r Is Nothing Then 'condition : si il existe au moins une occurrence trouvée
pa = r.addresse 'définit l'adresse de la première occurence trouvée
Do 'exécute
With Sheets("resultat") 'prend en compte l'onglet "resultat"
'définit la cellule de destination (A2, si A2 est vide, sinon la première ligne vide de la colonne A)
Set dest = IIf(.Cells(2, 1) = "", .Cells(2, 1), .Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0))
End With 'fin de la prise en compte de l'onglet "resultat"
Rows(r).Copy dest 'copie la ligne de l'occurrence trouvée et la colle dans dest
Set r = pl.FindNext(r) 'redéfinit la recherche r (occurrence suivante)
Loop While Not r Is Nothing And r.Address <> pa 'boucle tant qu'il existe des occurrences ailleurs qu'en pa
End If 'fin de la condition
End With 'fin de la prise en compte de l'onglet o-année
annee = annee + 1 'incrémente la variable annee
Wend 'boucle
Unload Me 'fermer la fenetre de recherche
Sheets ("resultat") 'activer l'onglets résultats
End Sub