Procédure qui s'éxécute une seconde fois à partir de la moitié
	
	
		Bonjour,
Je souhaite vérifier dans une plage de cellules (définie en début de procédure) si la valeur saisie dans chaque cellule n'est pas supérieure à un nombre situé en tête de colonne. Si une erreur est détectée au moment de la validation de la cellule, un message apparait puis la cellule est vidée (chaine vide).
Mon problème, c'est que je dois valider 2 fois le message, cela signifie que la procédure se déroule une seconde fois. Certes ma procédure est une Worksheet_SelectionChange, je conçois donc que remplacer le contenu d'une case contenant un nombre par une chaine vide constitue un changement qui nécessite que la procédure se relance, mais avec ma condition if isnumeric(cell), je ne comprends pas pourquoi je rentre une seconde fois dans cette partie de la procédure.
Pour info : le "for each" en bas me sert à vérifier si il reste des cases non remplies. Si oui, un bouton de validation reste inactif.
Voici la procédure
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
   | Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 Dim maplage As Range, note, x As Byte
 
    Set maplage = Sheets("saisie").Range(Cells(3, 2), Cells(Range("A50").End(xlUp).Row, Range("Z1").End(xlToLeft).Column))
    If Not Application.Intersect(Target, maplage) Is Nothing Then
        For Each cell In maplage
          note = Val(Right(Cells(2, cell.Column), Len(Cells(2, cell.Column)) - 2))
          If IsNumeric(cell) Then
           x = cell
            If (cell > note) Or (cell < 0) Then
              Cells(cell.Row, cell.Column).Select
              MsgBox ("Valeur incorrecte")
              Selection.Value = ""
              Exit For
            End If
          End If
        Next
 
        For Each cell In maplage
         If cell = "" Then
           CommandButton1.Enabled = False
           Exit For
         Else: CommandButton1.Enabled = True
         End If
        Next
    End If
End Sub | 
 Merci pour votre aide