Arret apres un msgbox

  • Initiateur de la discussion Initiateur de la discussion wilbur11
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

W

wilbur11

Guest
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
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
 
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


.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
788
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour