<p>Je pense que ceci est suffisant pour vous mettre sur la bonne voie :</p>
<pre><code class="lang-auto">Sub a()
Dim btn As Button
Application.ScreenUpdating = False
ActiveSheet.Buttons.Delete
Dim t As Range
For i = 2 To 6 Step 2
Set t = ActiveSheet.Range(Cells(i, 3), Cells(i, 3))
Set btn = ActiveSheet.Buttons.Add(t.Left, t.Top, t.Width, t.Height)
With btn
.OnAction = "btnS"
.Caption = "Btn " & i
.Name = "Btn" & i
End With
Next i
Application.ScreenUpdating = True
End Sub
Sub btnS()
MsgBox Application.Caller
End Sub
</code></pre>
<p>Cela crée les boutons et les lie à btnS(). Dans la sous-routine btnS(), vous devriez afficher votre boîte de dialogue, etc.</p>