Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim s As Object, flag1 As Boolean, flag2 As Boolean
For Each s In Sh.Shapes
If s.TopLeftCell.Address = "$B$44" Then flag1 = True
If s.TopLeftCell.Address = "$B$56" Then flag2 = True
Next
Set s = Sheets("a").Shapes("téléfon") 'à adapter
If Not flag1 Then s.Copy: Sh.Paste Sh.[B44]
Set s = Sheets("a").Shapes("Image 6") 'à adapter
If Not flag2 Then s.Copy: Sh.Paste Sh.[B56]
End Sub