• Initiateur de la discussion Initiateur de la discussion netparty
  • 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 !

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

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
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
 
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
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
 
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
 
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
C'est top

Merci de ton aide

Bonne journée
 
- 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

  • Question Question
Microsoft 365 sos planning
Réponses
6
Affichages
1 K
Réponses
3
Affichages
736
Retour