Magic_Doctor
XLDnaute Barbatruc
Bonsoir,
J'ai rédigé une fonction fort simple de contrôle de saisie qui semble bien marcher quand je la met dans la feuille :
Je veux l'utiliser dans une macro événementielle (module de feuille) afin que le contrôle de saisie se fasse en temps réel :
Et là c'est la panique quand je rentre une valeur dans la plage "ListeChiffres".
Merci d'avance pour m'expliquer ce qui ne va pas dans ma routine.
J'ai rédigé une fonction fort simple de contrôle de saisie qui semble bien marcher quand je la met dans la feuille :
VB:
Function ControlSaisie(num As Variant) As Variant
If IsNumeric(num) And num > o Then
ControlSaisie = num
ElseIf num <= 0 Or Not IsNumeric(num) Then
ControlSaisie = "?"
End If
End Function
Je veux l'utiliser dans une macro événementielle (module de feuille) afin que le contrôle de saisie se fasse en temps réel :
VB:
Private Sub Worksheet_Change(ByVal target As Range)
If Not Intersect(target, [ListeChiffres]) Is Nothing Then '"ListeChiffres" : nom de la plage de cellules dans laquelle les valeurs sont entrées
target = ControlSaisie(target)
End If
target.Select
End Sub
Et là c'est la panique quand je rentre une valeur dans la plage "ListeChiffres".
Merci d'avance pour m'expliquer ce qui ne va pas dans ma routine.