Bonjour à tous,
En fait SpinButton1_Change est une procédure "événementielle", donc qui s'active suite à l'événement changement d'une des propriétés du contrôle.
En changeant la valeur du SpinButton, il est donc normal que s'active la SpinButton1_Change
Ce qu'on peut faire c'est :
* d'utiliser un drapeau public, par exemple en déclarant au début d'un module quelconque :
Public Init as boolean
* ensuite avant de modifier la valeur du SpinButton, on indique :
Init = true
SpinButton1.Value = rst
* et dans la SpinButton1_Change :
Private Sub SpinButton1_Change()
if init then exit sub
' ...
La variable Init est remise à false soit à la fin du UserForm_Initialize ou du UserForm_Activate (si utilisée)
Pierre