Ours masqué
XLDnaute Junior
Bonjour,
Dans un projet pour lequel les membres de ce forum m'ont déjà bcp aidé (merci beaucoup), je suis confronté à un nouveau problème : certains des utilisateurs de ma base de données ne savent pas cliquer Je ne me moque pas et je ne ris pas non plus parce que je cherche à protéger l'utilisation pour que les mauvaises manip ne plantent pas tout.
Ainsi, dans des userforms, je saisis des dates d'échéances qui sont remises à jour régulièrement. Pour l'instant, je ne peux saisir que des chiffres et le caractère '/' mais ça ne suffit pas : ils arrivent encore à me saisir le 30 février ou des dates comme 24//02/05 et les calculs qui suivent ne peuvent s'exécuter... C'est sûr !
Je ne sais pas quoi faire. Si vous avez une idée, à partir des codes que j'utilise déjà, merci beaucoup.
:unsure:
Dans un projet pour lequel les membres de ce forum m'ont déjà bcp aidé (merci beaucoup), je suis confronté à un nouveau problème : certains des utilisateurs de ma base de données ne savent pas cliquer Je ne me moque pas et je ne ris pas non plus parce que je cherche à protéger l'utilisation pour que les mauvaises manip ne plantent pas tout.
Ainsi, dans des userforms, je saisis des dates d'échéances qui sont remises à jour régulièrement. Pour l'instant, je ne peux saisir que des chiffres et le caractère '/' mais ça ne suffit pas : ils arrivent encore à me saisir le 30 février ou des dates comme 24//02/05 et les calculs qui suivent ne peuvent s'exécuter... C'est sûr !
Je ne sais pas quoi faire. Si vous avez une idée, à partir des codes que j'utilise déjà, merci beaucoup.
Merci beaucoup. Bon courage sans doute !Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Dans les TextBox de DATE, autorise uniquement les touches numériques et /
KeyAscii = AutoriseFrappe(KeyAscii)
End Sub
Où autorisefrappe est :
Public Function AutoriseFrappe(ByVal k As Integer) As Integer
' Merci MyDearFriend www.excel-downloads.com
' Autorise uniquement les touches numériques et /
Select Case k
Case Is 57 'différent de / et 0 à 9
k = 0
End Select
AutoriseFrappe = k
End Function
Private Sub UserForm_Initialize()
' Limitation du nombre de caractères
' Initialisation des couleurs de la fenêtre Données Pilote (Echéances...)
With DonnéesPilote
.Caption = Range('C1').Value
.TextBox1.BackColor = Range('A6').Interior.Color
.TextBox1.MaxLength = 10
end with
end sub
Private Sub TextBox1_Change()
' Mettre le fond blanc pour que la couleur ne soit plus valable : une MAJ s'impose
TextBox1.BackColor = 16777215
End Sub
Private Sub TextBox1_AfterUpdate()
On Error Resume Next
Call Couleurs.InitPiloteCouleur(DonnéesPilote.Caption)
TextBox2.BackColor = Range('B6').Interior.Color
End Sub
:unsure: