DATE

Le
Vagabonda67
Hello voici mon (petit) problème :

Dans un tableau excel je désire inscrire dans une cellule une date ou une
heure sans devoir
mettre de (.) ou (:).
Exemple :
J'aimerai écrire 25032010 et j'aimerai que cela s'inscrive dans la cellule
ainsi 25.03.10.
j'écris 1230 et j'aimerai que cela s'inscrive dans la cellule ainsi 12h30.
Est-ce possible ??

Merci d'avance pour votre aide.
Vagabonda 67
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Modeste
Le #21436121
Bonsour® "Vagabonda67"
Dans un tableau excel je désire inscrire dans une cellule une date ou une
heure sans devoir
mettre de (.) ou (:).
Exemple :
J'aimerai écrire 25032010 et j'aimerai que cela s'inscrive dans la cellule
ainsi 25.03.10.
j'écris 1230 et j'aimerai que cela s'inscrive dans la cellule ainsi 12h30.
Est-ce possible ??



le problème c'est comment faire comprendre à EXCEL
le type de donnée que tu souhaites :
nombre normal, heure, date ????
cela s'adresse à une seule cellule, une plage de cellule, toute la feuille ?

pour une seule cellule, il est possible d'utiliser un affichage personnalisé
:
[<2400]00"h"00;[<32000000]00-00-0000;Standard;@

dans les autres cas il faudra utiliser une procédure événementielle (soit
automatique, soit déclenchée par macro)
FdeCourt
Le #21439471
Salut,

Avec la macro ci-dessous, à adapter en fonction de tes besoins bien
sur :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 1 And Target.Columns.Count = 1 And
Target.Rows.Count = 1 Then
Select Case Len(Target)
Case 4
Target.Value = Mid(Target, 1, 2) & "h" & Mid(Target,
3, 2)
Case 8
Target.Value = CDate(Mid(Target, 1, 2) & "/" &
Mid(Target, 3, 2) & "/" & Mid(Target, 5, 4))
Case Else
Target.Value = Target.Value
End Select
End If
End Sub

Et à mettre dans le code de la feuille correspondante.

Cordialement,

F.
Modeste
Le #21441071
Bonsour® FdeCourt avec ferveur ;o))) vous nous disiez :

Avec la macro ci-dessous, à adapter en fonction de tes besoins bien
sur :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 1 And Target.Columns.Count = 1 And
Target.Rows.Count = 1 Then
Select Case Len(Target)
Case 4
Target.Value = Mid(Target, 1, 2) & "h" & Mid(Target,
3, 2)
Case 8
Target.Value = CDate(Mid(Target, 1, 2) & "/" &
Mid(Target, 3, 2) & "/" & Mid(Target, 5, 4))
Case Else
Target.Value = Target.Value
End Select
End If
End Sub



115 ===1h15 ????
3678 ==6h78 ????


:o)))
http://www.cpearson.com/excel/DateTimeEntry.htm
Jacky
Le #21441151
J'aime bien ;o))))
NOTE: The procedure below is for USA-style dates (mmddyyyy format). If you use European style dates
(ddmmyyyy), you'll have to change some of the code. That is left as an exercise for the reader.

--
Salutations
JJ


"Modeste" Bonsour® FdeCourt avec ferveur ;o))) vous nous disiez :




:o)))
http://www.cpearson.com/excel/DateTimeEntry.htm
Modeste
Le #21441191
Bonsour® Modeste avec ferveur ;o))) vous nous disiez :

Bonsour® "Vagabonda67"
Dans un tableau excel je désire inscrire dans une cellule une date
ou une heure sans devoir
mettre de (.) ou (:).
Exemple :
J'aimerai écrire 25032010 et j'aimerai que cela s'inscrive dans la
cellule ainsi 25.03.10.
j'écris 1230 et j'aimerai que cela s'inscrive dans la cellule ainsi
12h30. Est-ce possible ??



le problème c'est comment faire comprendre à EXCEL
le type de donnée que tu souhaites :
nombre normal, heure, date ????
cela s'adresse à une seule cellule, une plage de cellule, toute la
feuille ?

pour une seule cellule, il est possible d'utiliser un affichage
personnalisé



[<2400]00"h"00;[<32000000]00-00-0000;Standard;@

dans les autres cas il faudra utiliser une procédure événementielle
(soit automatique, soit déclenchée par macro)




;o)))
avec la solution ci-dessus les valeurs affichées ne peuvent etre utilisée pour faire des calculs horaires ou dates

avec la solution ci-dessous il sera possibles de faire des calculs horaires ou dates
on utilise cependant une cellulle supplementaire :
=SI(A1<2400;1*TEXTE(A1;"00"":""00");SI(ET(MOD(A1;10000)<1900;ESTERREUR( DATEVAL(TEXTE(ENT(A1/10000);"00""/""00"))));A1;DATEVAL(TEXTE(A1;"00""/""0 0""/""0000"))))
format de cellule :
[<1]hh:mm ; ; jj.mm.aa.;@
Modeste
Le #21441221
Bonsour® Jacky avec ferveur ;o))) vous nous disiez :

J'aime bien ;o))))
NOTE: The procedure below is for USA-style dates (mmddyyyy format).
If you use European style dates (ddmmyyyy), you'll have to change
some of the code. That is left as an exercise for the reader.
JJ



comment ça...Il n'y a pas encore de MVP EXcel Alsacien ???
pourtant je me suis laissé dire qu'il existait une version Excel "Schnockeloch"
;o)))
wàs Excel ànbiete kànn
Einzelheite
Pack linguistique Microsoft CLIP - Elsässisch
http://download.microsoft.com/download/b/3/c/b3cb9604-ad63-46d3-a63d-e077 57021895/clip_frFR.msi

CLIP is optimised by Microsoft Product and language as follows.
LanguageOptimized for Product(s)
Alsace (Elsässisch) Office 2007


mais je n'ai pas connaissance d'une version Ch'ti...
;o)))
Jacquouille
Le #21441851
Salut Gilbert
Et Bilou, il n'a encore rien prévu en Ch'ti ?

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Modeste" O%
Bonsour® Jacky avec ferveur ;o))) vous nous disiez :

J'aime bien ;o))))
NOTE: The procedure below is for USA-style dates (mmddyyyy format).
If you use European style dates (ddmmyyyy), you'll have to change
some of the code. That is left as an exercise for the reader.
JJ



comment ça...Il n'y a pas encore de MVP EXcel Alsacien ???
pourtant je me suis laissé dire qu'il existait une version Excel
"Schnockeloch"
;o)))
wàs Excel ànbiete kànn
Einzelheite
Pack linguistique Microsoft CLIP - Elsässisch
http://download.microsoft.com/download/b/3/c/b3cb9604-ad63-46d3-a63d-e07757021895/clip_frFR.msi

CLIP is optimised by Microsoft Product and language as follows.
LanguageOptimized for Product(s)
Alsace (Elsässisch) Office 2007


mais je n'ai pas connaissance d'une version Ch'ti...
;o)))
Jacky
Le #21442341
Re....
Pfffffff !! dirait AV
Mon.......
==> J'aime bien ;o))))
n'était pas à cause de la langue mais pour la conclusion de Pearson.
"That is left as an exercise for the reader."

A ubung fer de Lààser
--
Salutations
JJ


"Modeste" Bonsour® Jacky avec ferveur ;o))) vous nous disiez :

J'aime bien ;o))))
NOTE: The procedure below is for USA-style dates (mmddyyyy format).
If you use European style dates (ddmmyyyy), you'll have to change
some of the code. That is left as an exercise for the reader.
JJ



comment ça...Il n'y a pas encore de MVP EXcel Alsacien ???
pourtant je me suis laissé dire qu'il existait une version Excel "Schnockeloch"
;o)))
wàs Excel ànbiete kànn
Einzelheite
Pack linguistique Microsoft CLIP - Elsässisch
http://download.microsoft.com/download/b/3/c/b3cb9604-ad63-46d3-a63d-e07757021895/clip_frFR.msi

CLIP is optimised by Microsoft Product and language as follows.
LanguageOptimized for Product(s)
Alsace (Elsässisch) Office 2007


mais je n'ai pas connaissance d'une version Ch'ti...
;o)))
FdeCourt
Le #21442551
Modeste,

Une solution universelle ne peut exister, donc il faut accepter de se
plier à quelques normes :
Sur 4 chiffres (et uniquement 4) il s'agit d'heure, donc 1h15 s'écrit
'0115
Et pour les dates, elles sont toujours sur 8 caractères avec le format
JJMMAAAA.
Ainsi il n'y a plus de problème.

Si ensuite il faut pouvoir faire des calculs sur les valeurs saisies,
alors une petite modification de rien du tout de la macro le permet :

Target.Value = CDate(Mid(Target, 1, 2) & ":" & Mid(Target, 3, 2))

Et voilà ;)

Cordialement,

F.
Modeste
Le #21443011
Bonsour®"FdeCourt" a écrit :

Une solution universelle ne peut exister, donc il faut accepter de se
plier à quelques normes



;o)))

C'est un grand agrément que la diversité.
L'ennui naquit un jour de l'uniformité.
Fables (1719), Antoine Houdar de La Motte

le vagabond aura au moins du grain à moudre ;o)))
Publicité
Poster une réponse
Anonyme