VBA Macro userform problème !!

Fermé
vans7k - 2 juil. 2010 à 12:13
Yoskopolite Messages postés 83 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 9 novembre 2012 - 2 juil. 2010 à 17:38
Bonjour,

J'ai un problème avec une macro et là je ne sais plus quoi faire alors je m'en remet à vous ! J'espère que vous pourrez m'aider. Voici mon problème : j'ai une feuille excel où je rentre des informations concernant des fiches d'incidents. J'ai donc créer des formulaires permettant de les rentrer plus facilement. J'ai ensuite écrit mon programme qui va chercher les formulaires qu'il faut en fonction de certains critères. Tout marche à peu près bien sauf lorsque je décide de quitter mon premier formulaire il m'ouvre le suivant ... Je ne sais pas pourquoi pourtant je pense avoir mis le bon code dans le Sub quitter_click. Alors je ne comprend pas ! Si quelqu'un peu m'éclairer ça serait génial !! Merci d'avance

Je vous laisse le code de mon premier formulaire :

Private Sub Continuer_Click()
Dim Reponse
Dim MSG
Range("a1").Select
Ligne = Identification.NumFiche.Value
If Me.DateEr.Value = "" And Me.Service.Value = "" And Me.Fonction.Value = "" And Me.Concerne.Value = "" And Me.DateI.Value = "" And Me.Indice.Value = "" Then
MsgBox "Il faut que tout les champs soit remplit"
Exit Sub
Else

If Sheets("Saisie initiale").Cells(Ligne + 3, 1).Text = "" Then
If Sheets("Saisie initiale").Cells(Ligne + 2, 1).Text = "" Then
MsgBox "Vous avez oublié de saisir une fiche de signalement" & Chr(13) & "Verifiez vos references", vbCritical
Exit Sub
End If
GoTo valider

Else

MSG = "Attention, Vous avez deja saisie des données !!"
MSG = MSG & Chr(13) & "Voulez Vous modifier les données du formulaire N° " & Sheets("Saisie initiale").Cells(Ligne + 3, 1).Text & " ?"
Reponse = MsgBox(MSG, vbYesNo)
If Reponse = vbYes Then
If Sheets("Saisie initiale").Cells(Ligne + 3, 1).Value = Me.NumFiche.Value Then
GoTo valider
Else
MsgBox "Pour pouvoir modifier, Il faut que se soit le Meme!!!"
Exit Sub
End If
Else
Exit Sub
End If
End If
End If

Exit Sub

valider:
Sheets("Saisie initiale").Cells(Ligne + 3, 1).Value = UCase(Me.NumFiche.Value)
Sheets("Saisie initiale").Cells(Ligne + 3, 2).Value = UCase(Me.Indice.Value)
Sheets("Saisie initiale").Cells(Ligne + 3, 4).Value = CDate(Me.DateEr.Value)
Sheets("Saisie initiale").Cells(Ligne + 3, 5).Value = UCase(Me.Fonction.Value)
Sheets("Saisie initiale").Cells(Ligne + 3, 6).Value = UCase(Me.Service.Value)
Sheets("Saisie initiale").Cells(Ligne + 3, 7).Value = UCase(Me.Concerne.Value)
Sheets("Saisie initiale").Cells(Ligne + 3, 8).Value = CDate(Me.DateI.Value)
Unload Me
Load Questions1
End Sub

Private Sub Quitter_Click()
Dim MSG
Dim Reponse
Unload Identification
MSG = "Etes vous sûr de vouloir quitter?"
Reponse = MsgBox(MSG, vbYesNo)
If Reponse = vbYes Then
Load Quitters
Exit Sub
End If
NombreQuestion = 0
End Sub

Private Sub UserForm_Click()

End Sub

Vanessa

A voir également:

1 réponse

Yoskopolite Messages postés 83 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 9 novembre 2012 8
Modifié par Yoskopolite le 2/07/2010 à 17:40
Quand tu fais "Load Quitters", que désigne "Quitters" ? On dirait que tu es en train d'ouvrir un form qui s'appelle comme ça, au lieu de quitter.

Pour fermer ton UserForm courant, tu devrais plutôt faire ceci :
Unload Me

Ou
Me.Unload
0