Comment ajouter un bouton programmatiquement en VBA à côté des données d'une cellule de feuille ?

J’ai une fonction qui génère des données pour, disons, 100 lignes (et 2 colonnes). Pour chaque ligne (dans la 3ème colonne), j’ai besoin d’ajouter un bouton qui, lorsqu’on clique dessus, affiche une boîte de dialogue modale personnalisée donnant à l’utilisateur 4 options/boutons parmi lesquels choisir.

Une idée de comment faire cela ?

Je pense que ceci est suffisant pour vous mettre sur la bonne voie :

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

Cela crée les boutons et les lie à btnS(). Dans la sous-routine btnS(), vous devriez afficher votre boîte de dialogue, etc.