Bonjour,
Tu peux te créer ton propre évènement mais il te faut utiliser un module de classe !
Un exemple tout simple pour le test :
En tête de module de l'UserForm tu colles cette ligne :
Dim WithEvents Cls As Classe1
Sur l'UserForm, tu poses un bouton et son code est :
Private Sub CommandButton1_Click()
Set Cls = New Classe1
Cls.Test 1000
End Sub
Tu ajoutes un module de classe nommé Classe1 (nom par défaut) dans lequel tu colles ce code :
Public Event FinProc()
Public Sub Test(Valeur As Double)
Dim I As Double
For I = 0 To Valeur Step 0.05
DoEvents
Next I
RaiseEvent FinProc
End Sub
Pour le test, la procédure Test() déclarée Public dans le module de classe est appelée et elle mouline pour simuler le déroulement d'un code long puis l'évènement est déclenché et celui-ci affiche un message.