Bonsoir,
La particularité des OptionButtons (dans un même Userform ou dans un même cadre (Frame) si tu isoles certains groupes) consiste à ce que lorsque l'un est coché (True) les autres sont systématiquement décochés (False).
D'autre part, lors de la conception, si tu définis une propriété pour un contrôle, il s'affichera avec cette propriété lors de l'ouverture du Userform, sauf si tu la changes au chargement par une procédure Initialize. Tu peux donc affecter la valeur True à ton obTranche dans la fenêtre de Propriété, et le Userform s'ouvrira avec ce contrôle coché, ce qui t'économise la procédure Initialize.
Tu peux donc ensuite avoir comme test :
If obTranche.Value Then
tranche2
Else
commentaire
End If
Inutile de mettre = True, une condition ne peut renvoyer que True ou False.
Enfin, la syntaxe pour afficher un message est : MsgBox("coucou") ou MsgBox "coucou" [le message peut être entre parenthèses si tu n'utilises pas d'autres arguments de la fonction].
Donc avec quelques petites retouches (et simplifications) ça marche ! Pas de souci.
Bonne soirée.
Ferrand