Problème d'initialisation d'une usf

Tungstene

XLDnaute Occasionnel
Bonjour,

Dans une usf qui me permet de rentrer des données dans mon classeur, j'ai un bouton pour enregistrer ces données.
Je force l'utilisateur à enregistrer en cliquant sur ce bouton, ou s'il veut sortir de cette usf à cliquer sur un autre bouton annuler.
Pour cela, je lui interdit d'utiliser le queryclose avec :

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

If CloseMode <> 1 Then Cancel = 1

MsgBox ('Le bouton fermer ne fonctionne pas')

End Sub

Concernant ma usf, il faut qu'elle se réinitialise à chaque fois que je l'ouvre pour rentrer une nouvelle idée. Pour cela je fais Unload Enregistrer, à la fin de ma procédure d'enregistrement.

Or lorsque l'enregistrement s'effectue, tout se passe comme je le souhaite mais à la fin de l'enregistrement et avant de fermer ma usf, il m'affiche le message indiqué dans le code de ma queryclose 'Le bouton fermer ne fonctionne pas'.

Si maintenant, je ne mets plus Unload Enregistrer mais Enregistrer.hide, là ça marche. Mais le problème c'est que l'initialisation ne s'effectue plus.

Comment pourrai je faire?
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

Essaies en modifiant ainsi

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

If CloseMode <> 1 Then
Cancel = 1

MsgBox ('Le bouton fermer ne fonctionne pas')

endif

End Sub


ou

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

If CloseMode = vbFormControlMenu Then
Cancel = True
MsgBox ('Le bouton fermer ne fonctionne pas')

endif
End Sub
 

Statistiques des forums

Discussions
311 729
Messages
2 081 966
Membres
101 852
dernier inscrit
dthi16088