Bonjour,
Connais-tu un minimum le principe des modules de classe?
Voici un exemple, très simpliste de ce que l'on peut faire :
1- Nouveau fichier Excel
Bascule en mode Visual Basic (ALT+F11)
2- Insertion/Module de classe (nommé par défaut Classe1) , voici le code à insérer :
Option Explicit
Public WithEvents Cmd As MSForms.CommandButton
Private Sub Cmd_Click()
MsgBox Cmd.Name
End Sub
3- Insertion/Userform (nommé UserForm1 par défaut) :
3a- Dans cet UserForm, dessiner 2 boutons de commande (CommandButton1 & CommandButton2), voici le code :
Option Explicit
Dim Cl(1) As Classe1
Private Sub UserForm_Activate()
Set Cl(0) = New Classe1
Set Cl(0).Cmd = Me.CommandButton1
Set Cl(1) = New Classe1
Set Cl(1).Cmd = Me.CommandButton2
End Sub
A partir de cet exemple simplissime, tout peut être construit dynamiquement et être exploité sur tous types de poste sans altérer les options utilisateurs...
PS (EDITH) : je parle ici de UserForm mais le principe est le même dans une feuille... Identique également pour le cas de boutons créés dynamiquement...