Arret apres un msgbox

wilbur11

XLDnaute Junior
Bonjour voici ma macro,

Je voudrais juste qu'après avoir fait apparaitre mon msgbox que la macro n'arrete pas. Est-ce possible?
Sub vide()

If Sheets("devis").Range("b2") = "" Then
MsgBox "prénom incomplet"
ElseIf Sheets("devis").Range("b3") = "" Then
MsgBox "adresse incomplet"
ElseIf Sheets("devis").Range("b7") = "" Then
MsgBox "Numéro de téléphone inclomplet"
Else
Call comptoir
End If
End Sub
 
Solution
Re : Arret apres un msgbox

Bonsoir Wilbur, bonsoir le forum,

Pas sûr de bien comprendre avec ton intitulé et ton explication qui se contredisent...
Peut-être comme ça :
Code:
Sub vide()
Dim test As Boolean

With Sheets("Devis")
    If .Range("b2") = "" Then MsgBox "prénom incomplet": test = True
    If .Range("b3") = "" Then MsgBox "adresse incomplet": test = True
    If .Range("b7") = "" Then MsgBox "Numéro de téléphone inclomplet": test = True
End With
If test = False Then Call comptoir
End Sub

Robert

XLDnaute Barbatruc
Repose en paix
Re : Arret apres un msgbox

Bonsoir Wilbur, bonsoir le forum,

Pas sûr de bien comprendre avec ton intitulé et ton explication qui se contredisent...
Peut-être comme ça :
Code:
Sub vide()
Dim test As Boolean

With Sheets("Devis")
    If .Range("b2") = "" Then MsgBox "prénom incomplet": test = True
    If .Range("b3") = "" Then MsgBox "adresse incomplet": test = True
    If .Range("b7") = "" Then MsgBox "Numéro de téléphone inclomplet": test = True
End With
If test = False Then Call comptoir
End Sub
 

KenDev

XLDnaute Impliqué
Re : Arret apres un msgbox

Bonsoir Wilbur, Robert,

Si il s'agit d'afficher des messages pendant que la sub se poursuit c'est impossible avec MsgBox. Par contre tu peux créer un Userform (qui affichera les messages) en le montrant en non modal, une possibilité :
VB:
Public bMontrer as boolean

Sub vide()
Load MonUserform
if bMontrer then
MonUserform.Show (False)
else
unload MonUserform
end if
Call comptoir
End Sub 

L'Userform ne peut contenir qu'un Label et comme code :
Private Sub UserForm_Initialize()
     If Sheets("devis").Range("b2") = "" Then s = "prénom incomplet"
     if Sheets("devis").Range("b3") = "" Then s = s & vblf & "adresse incomplet"
     If Sheets("devis").Range("b7") = "" Then s = s & vblf & "Numéro de téléphone inclomplet"
    if s <> "" then
       MonLabel = s
else
bMontrer=true
end if
End Sub
Code écrit à main levée, fautes de frappes possibles. Cordialement

KD


.
 

Statistiques des forums

Discussions
312 499
Messages
2 088 999
Membres
104 001
dernier inscrit
dessinbecm