Msgbox ; si clique sur "non" recommencer

lemlaurie

XLDnaute Nouveau
bien le bonjour,

j'ai un problème avec ce code :

Private Sub BTN_ActionOk_Click() 'quand on clique sur le bouton OK de l'usf-nouvelleAction

'Dim Ladate As Date 'Ladate est une date

Sheets("Journal").Activate 'on ouvre la page journal

Set Phase = CBX_Phase
Set Variete = Worksheets("Journal").Range("B:B").Find(CBX_Variete, LookIn:=xlValues)
Set Action = CBX_Action
Set Ladate = TBx_Date


Select Case MsgBox("phase" & Phase & " " & Chr(10) & _
"variete" & " " & Variete & Chr(10) & _
"action" & " " & Action & Chr(10) & _
"date" & " " & Ladate, vbYesNo)

Case vbOK 'procédure si clic sur Ok (ça on verra plus tard)

Case vbNo 'procédure si clic sur Annuler
Unload MsgBox ' on ferme msgbox pour afficher l'userforme d'origine


End Select


Unload Me 'on ferme l'userform

End Sub


Ce que je veux avec cette boite de dialogue c'est juste et seulement permettre la vérification des données avant de les utiliser.
Mais quand je clique sur "non" l'userform d'origine se ferme aussi. Je voudrais qu'il reste ouvert. j'ai bien essayé avec un vbOKCancel mais ça fait pareil...

une idée?
Merci d'avance :D
 

youky(BJ)

XLDnaute Barbatruc
Re : Msgbox ; si clique sur "non" recommencer

Bonjour
Essaies comme cela
Bruno
Code:
Private Sub BTN_ActionOk_Click() 'quand on clique sur le bouton OK de l'usf-nouvelleAction
'Dim Ladate As Date 'Ladate est une date
Sheets("Journal").Activate 'on ouvre la page journal
Set Phase = CBX_Phase
 Set Variete = Worksheets("Journal").Range("B:B").Find(CBX_Variet e, LookIn:=xlValues)
 Set Action = CBX_Action
 Set Ladate = TBx_Date
 
rep = MsgBox("phase" & Phase & " " & Chr(10) & _
 "variete" & " " & Variete & Chr(10) & _
 "action" & " " & Action & Chr(10) & _
 "date" & " " & Ladate, vbYesNo)
 If rep = vbYes Then
 Unload Me
 'procédure si clic sur Ok (ça on verra plus tard)
 End If
End Sub
 

Fo_rum

XLDnaute Accro
Re : Msgbox ; si clique sur "non" recommencer

Bonsoir,

bizarre ton Find !
Code:
Private Sub BTN_ActionOk_Click()
  Dim Phase As String, Variete As Range, Action As String, LaDate As Date
  With Sheets("Journal")
    Phase = CBX_Phase
    '----> là, que veux-tu ?
    Set Variete = .Range("B:B").Find(CBX_Variete, LookIn:=xlValues)
    '----> vérifier la présence de CBX_Variete ? Dans ce cas il faut la ligne suivante
    If Variete Is Nothing Then Exit Sub
    Action = CBX_Action
    LaDate = TBx_Date
  End With
  If MsgBox("phase " & Phase & Chr(10) & _
            "variete " & Variete & Chr(10) & _
            "action " & Action & Chr(10) & _
            "date " & " " & LaDate, vbYesNo) = vbOK Then _
    MsgBox "que dois-je faire ?", vbQuestion, "Et maintenant, "
  Unload Me
End Sub
 

lemlaurie

XLDnaute Nouveau
Re : Msgbox ; si clique sur "non" recommencer

bien le bonjour Bruno et Fo_rum
@bruno. Merci bien ça fonctionne
@Fo_rum non non, il ne sagit de verifié (en tout cas pas automatiquement) s'il manque quelque chose. Juste de permettre une relecture par l'utilisateur avant validation définitive. Le "find" sert à retrouver la ligne correspondante à la variété choisi dans une autre page. (enfin j’espère :) )
 

Statistiques des forums

Discussions
312 508
Messages
2 089 136
Membres
104 043
dernier inscrit
SpideyCodeWarrior