Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 MessageBox

netparty

XLDnaute Occasionnel
Bonjour le forum

Je suis bloqué sur la configuration d'un msgbox.

Dans mon userform j'ai plusieurs champs qui doivent être rempli, mais si un des champs est vide j'aimais qu'il y ai un msg dans lequel il indique quel champs sont manquant.

Je vous remercie d'avance

Bonne journée
 

Pièces jointes

  • Test.xlsm
    47.6 KB · Affichages: 22
Solution
VB:
Private Sub BP_Cellule_Offset_Click()
    For Each ID In Array("newy", "newx", "nbLigne", "nbcolonne")
        If Me.Controls("Txb_" & ID) = "" Then
            ErrMsg = IIf(ErrMsg = "", "", ErrMsg & vbLf) & Me.Controls("Label_" & ID).Caption
        End If
    Next
    If ErrMsg <> "" Then
        MsgBox "Le(s) champ(s)" & vbLf & vbLf & _
                ErrMsg & vbLf & vbLf & _
                "doi(ven)t être rempli(s)", vbCritical
    Else
        Deplacer_Cellule_Par_Offset ' ********* Déplacement par OFFSET
    End If
End Sub

fanch55

XLDnaute Barbatruc
Bonjour,
peut-être comme cela :
VB:
Private Sub BP_Cellule_Offset_Click()
For Each ID In Array("newy", "newx", "nbLigne", "nbcolonne")
    If Me.Controls("Txb_" & ID) = "" Then
        MsgBox "Le champ" & vbLf & _
               "[" & Me.Controls("Label_" & ID).Caption & "]" & vbLf & _
               "doit être rempli", vbCritical
        Exit Sub
    End If
Next
' ********* Déplacement par OFFSET
Deplacer_Cellule_Par_Offset

End Sub
 

netparty

XLDnaute Occasionnel
Bonjour fanch55

J'ai testé, il indique bien le champs manquants, mais si j'ai plusieurs champs manquant il ne les indique pas tous.
J'aimerais que dans le msgbox il indique tous les champs manquants
Merci

Bonne journée
 

fanch55

XLDnaute Barbatruc
VB:
Private Sub BP_Cellule_Offset_Click()
    For Each ID In Array("newy", "newx", "nbLigne", "nbcolonne")
        If Me.Controls("Txb_" & ID) = "" Then
            ErrMsg = IIf(ErrMsg = "", "", ErrMsg & vbLf) & Me.Controls("Label_" & ID).Caption
        End If
    Next
    If ErrMsg <> "" Then
        MsgBox "Le(s) champ(s)" & vbLf & vbLf & _
                ErrMsg & vbLf & vbLf & _
                "doi(ven)t être rempli(s)", vbCritical
    Else
        Deplacer_Cellule_Par_Offset ' ********* Déplacement par OFFSET
    End If
End Sub
 

netparty

XLDnaute Occasionnel
C'est top

Merci de ton aide

Bonne journée
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…