Private Sub Worksheet_Change(ByVal Target As Excel.Range)
With Worksheets("feuil1")
Derlgn = .Cells(.Rows.Count, 1).End(xlUp).Row
If Intersect(Target, .Range(.Cells(2, 2), .Cells(Derlgn, 2))) Is Nothing Or Target.Rows.Count > 1 Then Exit Sub
On Error Resume Next
Set C = Target
R = C.Row
Application.ScreenUpdating = False
For i = 1 To 2 'on va Boucler pour créer les OptionButton
If C = 1 Then ' Si la valeur entree est = 1
gauche = C.Offset(0, 1).Left
haut = C.Top + 2
gauche = gauche + IIf(i = 1, 5, 60)
Set OptB = .OptionButtons.Add(gauche, haut, 50, 5) 'On crée un OptionButton
With OptB 'Avec l'optionButton ainsi crée
.Characters.Text = IIf(i = 1, "Taux plein", "1/2 taux") 'On définit le texte
.Name = "OptB" & i * R 'On le nomme
.LinkedCell = C.Offset(0, 5).Address 'on lui affecte la Cellule Liée
End With
Else 'Si autre valeur
.Shapes("OptB" & i * R).Delete 'On supprime les OptionButton
C.Offset(0, 5) = "" 'On vide la cellule
End If
Next
End With
Application.ScreenUpdating = True
End Sub