Fermer Userform & Msgbox

lanoe

XLDnaute Occasionnel
Bonjour le forum,

Je n’arrive pas à mettre au point une formule qui ne doit pourtant pas être très compliquée

Le code doit s’appliquer au bouton "fermer" d’un Userform,

Je souhaite :

Si la feuille ("BL1") cellule ("M40") = "" : fermer le userform
Si la feuille ("BL1") cellule ("M40") > 0,1: un MsgBox

J’ai essayé le code

Private Sub BTFermer_Click()
If Sheets("BL1").Range("M40") = "" Then
Unload Me
End If
Exit Sub
If Sheets("BL1").Range("M40") > 0.1 Then
Select Case MsgBox("Vous n'avez pas enregistrer vos données." _
& vbCrLf & "" _
& vbCrLf & "Voulez vous quitter ?" _
, vbYesNo Or vbInformation Or vbDefaultButton1, Application.Name)
Case vbYes
Case vbNo
Exit Sub
End Select
End If
Range("d16:d36").ClearContents
Range("i16:K36").ClearContents
Unload Me
End Sub

Mais je dois avoir un problème car si M40>0.1, il ne se passe rien

En l’attente de proposition merci d’avance


lanoe
 

ya_v_ka

XLDnaute Impliqué
Re : Fermer Userform & Msgbox

Hello

En fait il faut monter ton "exit sub" d'une ligne et le placer avant le "end if"...
.
Ou alors inverser le tout en changeant la vérification sur l'autre propriété, mais plus long à corriger.

Ya'v
 

ya_v_ka

XLDnaute Impliqué
Re : Fermer Userform & Msgbox

Autre possibilité en n'utilisant qu'un if complété d'un elseif

Bonjour le forum,

Private Sub BTFermer_Click()
If Sheets("BL1").Range("M40") = "" Then
Unload Me
elseIf Sheets("BL1").Range("M40") > 0.1 Then
Select Case MsgBox("Vous n'avez pas enregistrer vos données." _
& vbCrLf & "" _
& vbCrLf & "Voulez vous quitter ?" _
, vbYesNo Or vbInformation Or vbDefaultButton1, Application.Name)
Case vbYes
Case vbNo
Exit Sub
End Select
else
'si non vide et plus petit que 0.1 !!!
End If
Range("d16:d36").ClearContents
Range("i16:K36").ClearContents
Unload Me
End Sub

lanoe

Ya'v
 

Discussions similaires

Réponses
1
Affichages
269

Statistiques des forums

Discussions
312 520
Messages
2 089 277
Membres
104 083
dernier inscrit
hecko