Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

n'autoriser que la saisie de date

2 réponses
Avatar
C15
Bonjour à tous et à toutes,

Dans un colonne je voudrais ne pouvoir saisir que des dates.

Si j'utilise Données/Validation/Autoriser dates/Comprises entre 01/01/1900
et 31/12/2080, la saisie de texte m'est interdite.

Si par contre je saisis un nombre (et que le format de la colonne est un
format date), Excel affiche la date correspondant au nombreen question.

Comment aussi interdire la saisie de nombres ?

Merci de votre aide

A+

C15

2 réponses

Avatar
Quetzalcoatl
" C15" a écrit ...
Comment aussi interdire la saisie de nombres ?


Bonjour,

Est-ce que le VBA suivant, placé dans le code de la feuille considérée, répond au besoin ?

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Not IsDate(Cells(Target.Row, Target.Column).Value) Then
Application.EnableEvents = False 'pour éviter de ré-entrer dans Worksheet_Change
Cells(Target.Row, Target.Column).Value = ""
Application.EnableEvents = True
MsgBox "Vous devez saisir une date"
End If
End Sub

Avatar
C15
Bonjour Quetzalcoatl,

Merci de cette réponse qui fonctionne bien, mais je suis surpris que l'on ne
puisse se dispenser du Vba !

A+

C15


"Quetzalcoatl" a écrit dans le message
de news: 470dbbfc$0$5074$
" C15" a écrit ...
Comment aussi interdire la saisie de nombres ?


Bonjour,

Est-ce que le VBA suivant, placé dans le code de la feuille considérée,
répond au besoin ?

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Not IsDate(Cells(Target.Row,
Target.Column).Value) Then
Application.EnableEvents = False 'pour éviter de ré-entrer dans
Worksheet_Change
Cells(Target.Row, Target.Column).Value = ""
Application.EnableEvents = True
MsgBox "Vous devez saisir une date"
End If
End Sub