XL 2010 Tester plusieurs msgbox

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

RONIBO

XLDnaute Impliqué
Bonjour,

Je souhaite tester des Msgbox sur différent cellule, les cellules : B1, B3, B5 et B7

Actuellement j'utilise le code ci-dessous pour tester si les cellules en questions sont vides ou pas.

If [B1] = "" Then
MsgBox "Saisissez la civilité"
End If

Le souci c'est quand j'ai plusieurs cellules concernées vides, je souhaite obtenir qu'un msgbox en précisant les éléments manquants au lieu d'avoir plusieurs Msgbox pour chaque information manquante.

Exemple si B1 et B3 vide :

Il manque des informations :
Saisissez la civilité
Saisissez le nom



Merci d'avance.
 

Pièces jointes

Bonjour
essai si ce code te convient
Sub TestCellule()
tablecel = Array("b1", "b3", "b5", "b7")
messages = Array("Civilité", "Nom", "Prénom", "adresse")
For n = 0 To UBound(tablecel)
If Sheets(1).Range(tablecel(n)) = "" Then
Message = Message & messages(n) & Chr(13)
End If
Next
Message = "Vous devez saisir:" & Chr(13) & Message
MsgBox Message
End Sub
 
Bonsoir RONIBO, sousou,

un essai avec ce code :
VB:
Sub TestCellule()
Dim s As String, i
    For Each i In Array(1, 3, 5, 7)
      If Cells(i, "b") = "" Then s = s & Space(4) & Cells(i, "a") & vbLf
    Next i
    If s <> "" Then MsgBox "Veuillez saisir le(s) champs :" & vbLf & s
End Sub
 

Pièces jointes

Dernière édition:
Bonjour
essai si ce code te convient
Sub TestCellule()
tablecel = Array("b1", "b3", "b5", "b7")
messages = Array("Civilité", "Nom", "Prénom", "adresse")
For n = 0 To UBound(tablecel)
If Sheets(1).Range(tablecel(n)) = "" Then
Message = Message & messages(n) & Chr(13)
End If
Next
Message = "Vous devez saisir:" & Chr(13) & Message
MsgBox Message
End Sub


J'ai "Option explicit" en haut

J'ai une erreur 🙁
 
je pense que c'est bon 🙂
Code:
Option Explicit
Sub TestCellule()
Dim Messages, TableCel
Dim N As Long
Dim Message As String
    TableCel = Array("A12", "G10", "b5", "b7")
    Messages = Array("Civilité", "Nom", "Prénom", "adresse")
    For N = 0 To UBound(TableCel)
        If Sheets(1).Range(TableCel(N)) = "" Then
            Message = Message & Messages(N) & Chr(13)
        End If
    Next
    If Message = "" Then Exit Sub
    Message = "Vous devez saisir :" & Chr(13) & Message
    MsgBox Message, vbInformation, "Champs incomplets"
End Sub

Merci encore à vous 🙂
 
Re,
Une petite question, c'est possible de faire clignoter le champs vides?
Oui, c'est possible. il faut écrire du code, beaucoup de code pour pas grand chose. En plus, le clignotement, je n'aime pas.

Pourquoi ne pas passer par une MFC tout simplement ? MFC qui permettrait aussi de se passer du code de la MsgBox! 🙄
 

Pièces jointes

- 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
2
Affichages
667
Réponses
1
Affichages
1 K
Retour