Private Sub Worksheet_Activate()
Dim ongletA As Worksheet, ongletB As Worksheet
Dim celluleRecherche As Range
Dim premiereAdresse As String
'définir les "onglet de travail"
Set ongletA = ThisWorkbook.Sheets("LUP VIE SERIE")
Set ongletB = ThisWorkbook.Sheets("ACTIONS")
'effacer le contenu de "A2" à "A<fin>" de l'ongletB
[B]ongletB.Range("A2:A" & ongletB.Rows.Count).ClearContents[/B]
'rechercher dans la colonne "Y" de l'ongletA la valeur "oui" (ignorer la casse)
Set celluleRecherche = ongletA.Columns("Y").Find("oui", , xlValues, xlWhole, , , False)
'si une cellule est trouvée
If Not celluleRecherche Is Nothing Then
'BOUCLE SUR CHAQUE CELLULE TROUVEE
'mémoriser l'adresse de la mremière cellule trouvée
premiereAdresse = celluleRecherche.Address
'boucler...
Do
'si la cellule de la colonne "V" et de la même ligne que la cellule trouvée, alors
'copier à la suite de la colonne "A" de l'ongletB la valeur cellule de la colonne "I"
'et de la même ligne que la cellule trouvée
If ongletA.Range("V" & celluleRecherche.Row).Text <> "Soldée" Then _
ongletB.Range("A" & ongletB.Rows.Count).End(xlUp).Offset(1, 0).Value = _
ongletA.Range("I" & celluleRecherche.Row)
'chercher la cellule suivante (contenant le mot "oui")
Set celluleRecherche = ongletA.Columns("Y").FindNext(celluleRecherche)
'...tant que la cellule actuelle n'est pas la première trouvée
Loop Until celluleRecherche.Address = premiereAdresse
'FIN BOUCLE
End If
End Sub