Aide programmation

Bonjour à tous

La commande ci dessous me permet de fermer un UF sans enregistrer les modifications dans un fichiers source.

Lorsque je rappelle l'UF, il n'est pas vierge, et les données que j'ai taper juste avant apparaissent. Je pense que le Pb viens de Me.Hide, que me conseiller vous d'utiliser pour fermer l'US mais vide.

Merci pour vos réponses:

Private Sub CommandButton2_Click()
Dim Rep As Byte
Rep = MsgBox("Vous êtes sur le point de quitter la Fiche de saisie sans sauvegarde" & vbCr & "Est-ce votre choix ?", vbYesNo + vbQuestion, "MESSAGE D'ALERTE")
If Rep = vbYes Then
   Me.Hide
End If
End Sub

Bonjour,

Me.hide revient à cacher l'USF.

Utilise plutôt ---> Unload Me

Amicalement

Bonsoir DAN

Lorsque j'intègre Unload Me

Mon MsgBox se ferme mais pas l'UF

Bonsoir,

Utilise le nom du UserForm.

Si ton formulaire s'appelle UserForm2 utilise Unload UserForm2.

A+

re,

Essaie en mettant le nom de ton USF à la place du ME.

Amicalement

Bonjour à tous

J'ai éssayé différentes méthodes mais cela ne fonctionne pas.

Je joint le fichier où se trouve l'UF concerné

Il se nomme: UserFormFiche_Saisie et c'est la CommandButton2 qui me pose problème.

Bonjour,

J'ai testé ton fichier et le code ne correspond pas. Le code du CommandButton2 sur le UserForm UserFormFiche_Saisie est le suivant :

Private Sub CommandButton2_Click()
Dim Rep As Byte
Rep = MsgBox("Vous êtes sur le point de quitter le fichier" & vbCr & "Est-ce votre choix ?", vbYesNo + vbQuestion, "MESSAGE D'ALERTE")
If Rep = vbYes Then
    Application.DisplayAlerts = False
    If Application.Workbooks.Count > 1 Then ThisWorkbook.Close Else Application.EnableEvents = False: Application.Quit
Else
    Exit Sub
End If
End Sub

Curieusement ce code est le même que celui du CommandButton2 mais sur le UserForm UserFormMOT_PASS !!

En mettant le code que tu as envoyé sur le forum dans le CommandButton2 du UserForm UserFormFiche_Saisie le UserForm se referme bien. Quand je le rouvre en rentrant un matricule il m'affiche bien les coordonnées de ce matricule.

A+

Bonjour Dachevid

Je sais que le code n'est pas le bon.

Private Sub CommandButton2_Click()
Dim Rep As Byte
Rep = MsgBox("Vous êtes sur le point de quitter le fichier" & vbCr & "Est-ce votre choix ?", vbYesNo + vbQuestion, "MESSAGE D'ALERTE")
If Rep = vbYes Then
    Application.DisplayAlerts = False
    If Application.Workbooks.Count > 1 Then ThisWorkbook.Close Else Application.EnableEvents = False: Application.Quit
Else
    Exit Sub
End If
End Sub

C'est le code d'origine, mais quand j'utilise la touche ANNULE, TOUS le fichier se ferme.

J'ai donc essyé avec Me.Hide, là on a l'impression que cela fonctionne, mais ce n'est pas vrai. En effet la fonction Me.hide garde en mémoire tous les CheckBox. C'est à dire que si j'appelle le matricule 34174, que je valide tous les CheckBox, que j'annule, puis que j'appelle le matricule 999, se dernier a tous les CheckBox de validé, alors que si tu cherches ce même matricule dans l'onglet RENSEIGNEMENT, il n'en est rien.

Moi ce que je souhaite, lorsque j'utilise la touche ANNULE, c'est que l'UF se ferme sans devoir fermer le Fichier.

Il faut savoir que dès que j'utilise la touche VALIDE, j'ai automatiquement l'identifiant de la personne qui a validé les données qui s'enregistre, je ne peux pas utiliser cette touche pour simplement sortir de l'UF.

J'espère que mes explications sont plus claires.

Merci de ton aide

Bonjour,

J'ai modifié ton code pour remettre le formulaire à zéro avant de le cacher en utlisant le même principe que pour le remplir, on peut maintenant passer du matricule 57 au 777 et 34174 sans problème.

Private Sub CommandButton2_Click()
    UserFormFiche_Saisie.TextBox1.Locked = False
    For I = 1 To 8
       UserFormFiche_Saisie.Controls("TextBox" & I).Value = ""
    Next I
    For I = 1 To 21
            UserFormFiche_Saisie.Controls("CheckBox" & I) = False
    Next I
    UserFormFiche_Saisie.Hide
End Sub

A+

bonjour,

c'est ton "UserForm_QueryClose" qui met le bazard et empêche la fermeture du USF.

Supprime le et utilise Unload Me

A+

Merci à vous deux

Les deux solutions fonctionnent.

A+

Rechercher des sujets similaires à "aide programmation"