re :
Voici donc deux possibilités :
1 er cas : Un simple numéro de chèque sans lettre
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CelluleVise As Range
Dim Reponse As Variant
Dim Question As String
Dim Titre As String
Set CelluleVise = Application.Intersect(Target, Range("B7:B30"))
If CelluleVise Is Nothing Then
'MsgBox "La cellule n'est pas dans l'intersection"
DoEvents
Else
'MsgBox "La cellule est dans l'intersection"
DoEvents
If (ActiveCell.FormulaR1C1 = "Chèque") Then
Question = "Entrer un numéro de chèque s.v.p."
Titre = "Saisie du numéro de chèque"
Reponse = InputBox(Question, Titre, "100")
'Est-ce un nombre ? et est-il plus grand que 99
If ((Val(Reponse) <> 0) And (Val(Reponse) > 99)) Then
ActiveCell.Offset(0, 1).Value = Val(Reponse)
End If
End If
End If
End Sub
2 e cas : Un numéro de chèque complexe
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CelluleVise As Range
Dim Reponse As Variant
Dim Question As String
Dim Titre As String
Set CelluleVise = Application.Intersect(Target, Range("B7:B30"))
If CelluleVise Is Nothing Then
'MsgBox "La cellule n'est pas dans l'intersection"
DoEvents
Else
'MsgBox "La cellule est dans l'intersection"
DoEvents
If (ActiveCell.FormulaR1C1 = "Chèque") Then
Question = "Entrer un numéro de chèque s.v.p."
Titre = "Saisie du numéro de chèque"
Reponse = InputBox(Question, Titre, "100 AB")
ActiveCell.Offset(0, 1).Value = Reponse
End If
End If
End Sub
Attention, tu remarqueras que l'évènement n'est pas le même
que dans le message 2!
Message 2 -> Évènement : Worksheet_SelectionChange(ByVal Target As Range)
Ce message -> Évènement : Worksheet_Change(ByVal Target As Range)
Lupin