Sub CentrerCellulesTableau()
Dim t, plage As Range, tablo, ub%, i&, j%
t = Timer
Application.ScreenUpdating = False
Set plage = ActiveSheet.UsedRange
If plage.Count = 1 Then Set plage = plage.Resize(2) 'au moins 2 cellules
tablo = plage 'matrice
ub = UBound(tablo, 2)
For i = 1 To UBound(tablo)
For j = 1 To ub
If tablo(i, j) = "? ? ?" Then plage(i, j).HorizontalAlignment = xlCenter
Next j, i
MsgBox "Durée " & Format(Timer - t, "0.00 \s")
End Sub