Afficher qu'un seul MsgBox

Nagrom

XLDnaute Occasionnel
Bonjour,

J'utilise la macro suivante:

Code:
Sub contrôle()

For Each cell In Range("D24:AA24")
If cell > "11" Then
MsgBox "Le nombre ne doit pas être supérieur à 11!", vbExclamation, "Erreur"
End If
Next cell

End Sub

Avec un tel code, si j'ai 4 cellules dont la valeur est supérieure à 11 j'aurais 4 fois le message. Je souhaiterais savoir s'il est possible d'en obtenir qu'un seul même si plusieurs cellules correspondent au critère.

Merci.
 

mutzik

XLDnaute Barbatruc
Re : Afficher qu'un seul MsgBox

bonjour
Sub contrôle()
dim txt
For Each cell In Range("D24:AA24")
If cell > "11" Then
txt = txt & cell.address & vblf
End If
Next cell
MsgBox txt & vblf & "Le nombre ne doit pas être supérieur à 11!"

End Sub
 

pierrejean

XLDnaute Barbatruc
Re : Afficher qu'un seul MsgBox

bonjour Nagrom

A tester

Code:
Sub contrôle()
 
For Each cell In Range("D24:AA24")
If cell > "11" Then
MsgBox "Le nombre ne doit pas être supérieur à 11!", vbExclamation, "Erreur"
[COLOR=blue]Exit for[/COLOR]
End If
Next cell
 
End Sub

Edit: Salut Bertrand toujours un plaisir de te croiser
Edit2: S'il s'agit d'un nombre il serait peut-etre plus judicieux d'ecrire:
If cell > 11 Then
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Afficher qu'un seul MsgBox

Bonjour Nagrom, Bertrand, bonjour le forum,

Ou aussi plus simplement comme ça :

Code:
Sub contrôle()
For Each cell In Range("D24:AA24")
If cell > "11" Then
MsgBox "Le nombre ne doit pas être supérieur à 11!", vbExclamation, "Erreur"
[COLOR=red]Exit For[/COLOR]
End If
Next cell
End Sub

Édition :

Sacré PierreJean... Bonjour !
 

Discussions similaires

Réponses
0
Affichages
179

Statistiques des forums

Discussions
312 555
Messages
2 089 551
Membres
104 210
dernier inscrit
mjub