Sub Drapeau()
If IsError(Application.Caller) Then Exit Sub 'sécurité
Dim a, i, j
a = Array("Français", "Anglais", "Canadien", "Brésilien")
Application.ScreenUpdating = False
For i = 0 To UBound(a)
DrawingObjects(a(i)).Visible = False
Sheets(a(i)).Visible = xlSheetHidden
If a(i) = Application.Caller Then j = i
Next
i = IIf(j = UBound(a), 0, j + 1) 'tournante
DrawingObjects(a(i)).Visible = True
Sheets(a(i)).Visible = xlSheetVisible
End Sub