OVH Cloud OVH Cloud

Champs "date"

2 réponses
Avatar
bulrog
Bonjour tout le monde !

J'ai un problème de date... J'arrive à formater la date comme je veux mais
ce que je voudrais, c'est obtenir une date lorqu'on rentre une suite de
chiffre sans séparateur.

Je m'explique : dans un champ, si je rentre "01/01/05", j'ai l'affichage
"samedi 1 janvier 2005" (en fonction du formatage que j'ai choisi). Mais si
je rentre "010105", j'ai l'affichage "mercredi 31 aoput 1927"... ce qui est
logique puis qu'il prend le nombre 010105 et pas la date...

Comment faire pour obtenir ce que je veux ?

Merci d'avance.

--
bulrog@teledisnet.be

2 réponses

Avatar
AV
Sous réserve de saisir 2 chiffres pour chacun des éléments de la date (exemple :
260904 dans l'ordre jour-mois-an)
Dans le module de la feuille et pour la plage A1:A10 :

Private Sub Worksheet_Change(ByVal zz As Range)
If Not IsNumeric(zz) Or Intersect(zz, [A1:A10]) Is Nothing Then Exit Sub
x = Format(zz, "000000")
Application.EnableEvents = False
zz = DateSerial(Right(x, 2), Mid(x, 3, 2), Left(x, 2))
Application.EnableEvents = True
End Sub

AV
Avatar
bulrog
Ben oui..., yaka !

Oufti ! Il me reste encore beaucoup de progrès à faire en VBA...

Merci beaucoup.


"AV" a écrit dans le message de news:

Sous réserve de saisir 2 chiffres pour chacun des éléments de la date
(exemple :
260904 dans l'ordre jour-mois-an)
Dans le module de la feuille et pour la plage A1:A10 :

Private Sub Worksheet_Change(ByVal zz As Range)
If Not IsNumeric(zz) Or Intersect(zz, [A1:A10]) Is Nothing Then Exit Sub
x = Format(zz, "000000")
Application.EnableEvents = False
zz = DateSerial(Right(x, 2), Mid(x, 3, 2), Left(x, 2))
Application.EnableEvents = True
End Sub

AV