|
|
|
|
Bonjour à tous
Voilà je voudrais qu'un message apparait dans des cellule de classeur excel, mais je ne sais pas comment faire. voila mon problème.
J'ai fait une liste dans des cellules de B7 à B30(ex. CB;CBR;Chèque)
et je voudrai que quand je sélection Chèques un message m'indique qu'il faut inscrit un néméro de chèque dans la cellule (ex.C7). si quelqu'un a la solution je serai ravi. pour la programmation je suis très,très petit débutant. alors je vous demande de bien vouloir bien détailler les solution. je vous remerci.
Configuration: Xp familliale. Excel 2000 pro.
Bonjour,
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim CelluleVise As Range
Dim Reponse As Variant
Dim NumCheque As Integer
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
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 = NumCheque
End If
End If
End Sub
Lupin |
Re:
Private Sub Worksheet_SelectionChange(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
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 Sub
Lupin |
Salut Lupin
|
Salut LUPIN
|
Resalut LUPIN
|
Re :
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 |