Bonjour,
comment transformer une cellule comme celle cienCode:Sep 24 2007 8:23:28:000PM
merci d'avance pour votre aideCode:dd/mm/aaaa hh(24):mm
Version imprimable
Bonjour,
comment transformer une cellule comme celle cienCode:Sep 24 2007 8:23:28:000PM
merci d'avance pour votre aideCode:dd/mm/aaaa hh(24):mm
Bonjour,
Est-ce qu'Excel reconnaît la première comme une date ? (voir dans les formats). Si oui, il suffit de changer le format et de mettre un format comme celui que tu veux mettre, il en existe un parfait.
Si non, est-ce que tes données sont formatées toutes pareilles de façon à ce qu'on puisse récupérer les données de jour, mois, année, heure... en sélectionnant une partie précise de la cellule ?
Non excel ne le reconnait pas comme une date.
Non la date n'a pas le meme format exemple :
Code:
1
2 Sep 24 2007 7:03:28:000PM Sep 24 2007 10:08:35:000PM
Dans ton exemple, les deux lignes sont bien alignés, un espace est présent devant le 7 qui correspond à l'heure. Est-ce bien le cas en réalité ?
D'autre part, est-ce qu'il y a les mois de juin et juillet dans tes données ? (car avec un affichage du mois sur 3 lettres ça peut être codé différemment)
Si tu as un exemple de fichier n'hésite pas à l'attacher, ça sera plus facile pour te répondre :)
Hello,
voici une fonction de transcodage appropriée :
exemple :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Function TranscodeDate(ByVal s As String) As Date ' à adapter si les mois sont en français ... Const mois As String = "JanFebMarAprMayJunJulAugSepOctNovDec" Dim m As Integer Dim info() As String Dim d As Date Dim t As Double info = Split(s, " ") m = (InStr(mois, Left(s, 3)) - 1) / 3 + 1 d = DateSerial(CInt(info(2)), m, CInt(info(1))) info = Split(info(3), ":") t = (IIf(Right(info(3), 2) = "PM", 12, 0) + CInt(info(0))) / 24 + _ CInt(info(1)) / 24 / 60 + _ CInt(info(2)) / 24 / 60 / 60 + _ CInt(Left(info(3), 3)) / 24 / 60 / 60 / 1000 TranscodeDate = d + t End Function
Code:
1
2 ?TranscodeDate("Sep 24 2007 10:08:35:600PM") 24/09/2007 22:08:36
Bonjour cafeine,
J'ai integrer ta fonction dans un module et j'essaye de mettre la formule suivante
la cellule B1 est bien en texteCode:= TranscodeDate(B1)
le retour est :
où me suis je tromper ?Code:#VALEUR!
Puisque ça marche chez moi, c'est que tu n'as pas copié ce code dans un nouveau module mais plutôt dans un module de feuille/ThisWorkbook ... non ?
À mon avis, c'est parceque c'est en format pur texte que ça ne marche pas.
Je te fournis ici un fichier qui le fait mais avec 2 colonnes de données supplémentaires pour le codage du mois anglais en chiffre.
et là ?