Il faut que tu detectes avec un evenement ton changement de case O5... Je ne sais pas ce qui la fait changer.
Puis dans l'évènement il te suffira de mettre:
With Sheets("Bon de prepa")
If Range("O5") = 1 Then
.Shapes("Alerte").Visible = True
Else
.Shapes("Alerte").Visible = False
End If
End With