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
 

Discussions similaires

Statistiques des forums

Discussions
314 653
Messages
2 111 589
Membres
111 208
dernier inscrit
estalavista