Imposer Format Cellule Heure et date

  • Initiateur de la discussion Initiateur de la discussion sheryo
  • 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 !

S

sheryo

Guest
Bonjour,

Je souhaite pouvoir imposer un format à une colonne donné.
Le format date jj/mm/aaaa à la colonne A, et le format heure hh :mm :ss
à la colonne B.
Si le bon format n'est pas donné une message box lance l'erreur.

J'ai fais plusieurs recherche qui n'ont pas abouti.
Merci pour votre aide,

Amicalement.
 
Re : Imposer Format Cellule Heure et date

Re,

Désolé je n'ai pas été assez précis, je souhaite que l'obligation soit soumis par module vba.
Vous trouverez ci-joint une tentative d'imposition de Format de date :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C2:C26")) Is Nothing Then
If IsEmpty(Target.Value) = True Then Exit Sub
If IsDate(Format(Target.Value, "dd/mm/yyyy")) = False Then
    MsgBox ("please enter a valid date format, e.g. 10 sep 2007")
    Target.Value = "" 'j`efface la saisie
End If
End If
End Sub

Le problème est que si j'entre une donnée numérique autre que le format "dd/mm/yyyy" il n'y a pas de rejet, le rejet ne fonctionne que si j'entre une chaine de caractére dans la cellule.
De plus je n'ai pas d'idée pour imposer un format Heure hh:mm:ss

Amicalement.
 

Pièces jointes

Re : Imposer Format Cellule Heure et date

Re sheryo

remet ton code dans
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
soit

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C2:C26")) Is Nothing Then
If IsEmpty(Target.Value) = True Then Exit Sub
If IsDate(Format(Target.Value, "dd/mm/yyyy")) = False Then
    MsgBox [COLOR=Red][B]([/B][/COLOR]"please enter a valid date format, e.g. 10 sep 2007"[COLOR=Red][B])[/B][/COLOR]
    Target.Value = "" 'j`efface la saisie
End If
End If
End Sub
et supprime les parenthèses en rouge

pour les heures essaye

Code:
 If [B][COLOR=Red]Not [/COLOR][/B]IsDate(Format(Target.Value, "hh:mm:ss")) = False Then
 
Dernière édition:
- 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
7
Affichages
394
Réponses
6
Affichages
871
Réponses
8
Affichages
653
Réponses
2
Affichages
348
  • Question Question
XL 2019 Date vba
Réponses
9
Affichages
882
  • Question Question
Réponses
25
Affichages
2 K
Retour