Fermeture conditionnée userform

Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009 - 8 juil. 2009 à 15:46
cs_Joh76 Messages postés 47 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 14 octobre 2009 - 9 juil. 2009 à 18:56
J'ai créer u bouton annuler qui ferme le userform
Private Sub Annulation_Click()
Unload Données_new_réf
End Sub

J'ai également créer un bouton valider qui met mes données sur un tableur excel et qui ferme le userform


Private Sub Validation_réf_Click()


Dim N As Integer
Dim i As Integer


i = 1
N = 100


Do While i < N    If Cells(i + 2, 1).Value "" And Cells(i + 2, 7).Value "" Then
    'Remplir au moins la cas réf ou fnrs pour que ça marche
        Cells(i + 2, 1).Value = Réf
        Cells(i + 2, 2).Value = CC
        Cells(i + 2, 6).Value = Pièce
        Cells(i + 2, 7).Value = Fournisseur
        Exit Do
    Else
    End If
    i = i + 1
Loop


Unload Données_new_réf


End Sub

Fermeture à partir du bouton Valider à condition qu'au moins 1 case soit remplie => d'où la condition ci-dessous 

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


    If Réf.Value "" And Fournisseur.Value "" Then
    MsgBox "Veuillez Remplir au moins la case Référence OU la case Fournisseur"
    Cancel = 1
    End If
   
End Sub


Le problème c'est que je peux plus fermer par aucun moyen le userform avec ça à moins que je ne remplisse la condition

Help???
Roberto RIQUELME

2 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
8 juil. 2009 à 17:21
Salut,

comprend pas !?! et ton bouton cancel c'est pas lobjectif de sa fonction ???

A+
0
cs_Joh76 Messages postés 47 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 14 octobre 2009 3
9 juil. 2009 à 18:56
Salut,

Tu pourrais utiliser une variable public, genre Validation as boolean, qui passerait a vrai dans ta procédure Private Sub Validation_réf_Click().
Puis tu la test dans queryclose:

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
   If Validation then       If Réf.Value "" And Fournisseur.Value "" Then
       MsgBox "Veuillez Remplir au moins la case Référence OU la case Fournisseur"
       Cancel = 1
       End If
    End if
End Sub

Cdlt
0
Rejoignez-nous