Salut rocket4
Je confirme le propos de Patrice33740
Erreur d'exécution 9 lors de l'exécution de la procédure.
Voici deux propositions, une fonctionne Quelle que soit la taille de nombre ou la lettre (1, f, 23, az,…) :
Sub test()
t = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
pos = InputBox("choisir une valeur dans le tableau")
For i = 1 To UBound(t)
If t(i) = Val(pos) Then
For j = i To 1 Step -1
Z = Z & t(j)
Next
For m = UBound(t) To i + 1 Step -1
Z = Z & t(m)
Next
End If
Next
MsgBox Z
End Sub
, et la deuxième fonctionne seulement si la taille est égale un caractère:
Sub test2()
t = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
pos = InputBox("choisir une valeur dans le tableau")
i = WorksheetFunction.Match(pos, t, 0)
tmps = Mid(Join(t, ""), 1, i)
Z = StrReverse(tmps)
tmps = Mid(Join(t, ""), i + 1, UBound(t))
Z = Z & StrReverse(tmps)
MsgBox Z
End Sub
A moins que vous avez un autre intérêt pour développer ton code de telle façon !?