Bonjhour Allardinho, bonjour le forum,
Peut-être comme ça :
Sub Macro1()
Dim SH As Worksheet 'déclare la variable SH (SHeet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim I As Integer 'déclare la variable I (Incrément)
Set SH = Sheets("Sheet1") 'définit l'onglet SH
DL = SH.Cells(Application.Rows.Count, 2).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 2 (=B)
For I = 9 To DL 'boucle des ligne 9 à DL
If Right(SH.Cells(I, 2).Value, 3) = "Bis" Then 'condition : si les trois derniers caractères de la cellule ligne I, colonne 2 sont "Bis"
SH.Cells(I, 25).Value = SH.Cells(I - 1, 25) 'récupere dans la colonne 25 (=Y) la valeur de la ligne au-dessus
SH.Cells(I, 25).Interior.ColorIndex = xlNone 'supprime une éventuelle couleur
Else 'sinon
SH.Cells(I, 25).Interior.ColorIndex = 6 'colore la cellule colonne 25 (=Y) en jaune
End If
Next I 'prochaine ligne de la boucle
End Sub