MsgBox avec condition
RésoluBourrique66 Messages postés 158 Date d'inscription Statut Membre Dernière intervention -
Bonjour ;
J’aimerai qu’un MsgBox apparaisse si la valeur dans la TextBox33 et supérieur ou égale à 6 Mois, sur internet j’ai trouvé ce code que j’essaie d’adapter à mon cas.
If Me.TextBox33.Value >= 6 Then
MsgBox "Attention produit anti-crevaison route dépassé"
End If
Le message apparait bien mais je pense que la condition n’est pas prise en compte, le message apparait quel que soit le contenu de la TextBox.
Pouvez-vous m’aider
Private Sub TextBox33_Change()
Application.ScreenUpdating = False
TextBox33.Value = Format(TextBox33.Value, "0 Mois")
Dim test As Boolean
With TextBox33
test = Val(Replace(.Text, ",", ".")) >= 6
.BackColor = IIf(test, vbRed, vbGreen)
.ForeColor = IIf(test, vbWhite, vbBlack)
.Font.Bold = test
End With
If Me.TextBox33.Value >= 6 Then
MsgBox "Attention produit anti-crevaison route dépassé"
End If
Application.ScreenUpdating = True
End Sub
- MsgBox avec condition
- Excel cellule couleur si condition texte - Guide
- Excel condition ou - Guide
- Excel copier une cellule si condition ✓ - Forum Excel
- Excel colorer une cellule sous condition d'une autre cellule ✓ - Forum Excel
- Nbval avec condition - Forum Excel
4 réponses
Bonjour
Essaie ainsi
Private Sub TextBox33_Change() If Right(TextBox33.Value, 1) = "s" Then Exit Sub Application.ScreenUpdating = False TextBox33.Value = Format(TextBox33.Value, "0 Mois") Dim test As Boolean With TextBox33 test = Val(Replace(.Text, ",", ".")) >= 6 If test = True Then MsgBox "Attention produit anti-crevaison route dépassé" .BackColor = IIf(test, vbRed, vbGreen) .ForeColor = IIf(test, vbWhite, vbBlack) .Font.Bold = test End With Application.ScreenUpdating = True End Sub
Cdlmnt
Via
Merci Via ;
votre code fonctionne parfaitement, si vous avez le temps pourriez-vous mettre des commentaires dans votre code afin que je puisse le comprendre pour pouvoir le reproduire. Bien sûr si vous avez le temps. Merci de votre patience
Le code est le tien
J'ai seulement modifié 2 choses
1) la ligne "If Right(TextBox33.Value, 1) = "s" Then Exit Sub" vérifie le dernier caractère à droite dans le textbox et si c'est s sort de la Sub. Ceci afin d'éviter lors de la mise au format dans la ligne qui suit dan sla macro elle s'applique à nouveau et que cela renvoie éventuellement une 2eme fois le message de dépassement
2) Pour faire afficher la Mgsbox au lieu de le faire après le premier test pour changement de couleur je le groupe dans le With