Ne pouvoir saisir qu'une date

  • Initiateur de la discussion Initiateur de la discussion Ours masqué
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

O

Ours masqué

Guest
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.
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
Merci beaucoup. Bon courage sans doute !
:unsure:
 
ah of course ! Bon d'accord, je vais prendre des cours pour cliquer moi aussi. Mais où le mets-je ?

J'essaie tout de suite.

Enfin, ma base de données est opérationnelle. Je partage très volontiers les codes que j'ai fait pour lesquels j'ai reçu beaucoup d'aide. Mais c'est gros, comment on fait ? Et en voulez vous ?

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
589
Réponses
4
Affichages
881
Retour