Salut,
Je crois que tu as une boucle de trop je supprime le test car il me semble pas utile dans le cas présent(je me trompe ???) , peut être que le résultat que tu veux tu pourras l'obtenir comme ceci si tu n'as que des commandbuttons.
Dim C As Object
Dim lig As Integer
Lig=2
Set F1 = Me.Frame1
For Each C In F1.Controls
C.Caption = Feuil2.Range("B" & lig).Value
lig = lig + 1
Next C
Rajouter le test suivant, si tu as d'autres controles
If typeof C is msforms.commandbutton then
C.caption= Feuil2.Range("B" & lig).Value
lig = lig + 1
end if
next c
A+++