Option Explicit
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Dim i As Byte, k As Byte, sh As Worksheet
For i = 1 To Sheets.Count - 3
Dim temp()
k = 1
ReDim Preserve temp(1 To k)
temp(k) = "--- ALLER À ---"
k = k + 1
For Each sh In ActiveWorkbook.Sheets
If sh.Name <> Sheets(i).Name And sh.Index <= Sheets.Count - 3 Then
ReDim Preserve temp(1 To k)
temp(k) = sh.Name
k = k + 1
End If
Next sh
Call Tri(temp, 1, UBound(temp))
Sheets(i).ComboGoToSheet.List = temp
Sheets(i).ComboGoToSheet.ListIndex = 0
Erase temp
Next i
Application.ScreenUpdating = True
End Sub