Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Remplacement des millièmes de seconde par 3 zéro

jphflo

XLDnaute Nouveau
Bonjour à tous,
J'ai un petit souci avec la fonction personnalisée suivante : jj/mm/aaaa hh:mm:ss,000
La mise en forme est conforme à mes attentes.
Mais mon problème arrive lorsque que je suis sur la cellule pour faire l'analyse d'une trace d’événement. Si par mal chance je sélectionne la cellule comme si je souhaitais faire une modification ; dans la barre d'écriture la date et l'heure s'affichent sans les millièmes et lorsque je quitte cette cellule avec l'invite d'écriture qui clignote, les millième sont perdu et remplacer par 3 zéro. Actuellement je protège les cellules en questions pour éviter des modifications intempestives, mais pas pratique car bloquante lorsque nous voulons trier pour analyse.
Merci de bien vouloir me donner un avis voir une solution à mon problème.

je vous mets un petit bout de fichier en pièce jointe.
Colonne A cellules d'origine protégées pour ne pas perdre les millièmes
Colonne C recopie des cellules de la colonne A sans la protection
 

Pièces jointes

  • Classeur2.xlsx
    10.3 KB · Affichages: 21
Solution
Bonjour le fil, le forum,

Ci-joint le fichier du post #9 modifié avec les formules en B2 et C2 :
Code:
=GAUCHE(A2;TROUVE(" ";A2;TROUVE(" ";A2)+1))

=TEXTE(SUBSTITUE(B2;"::";",");"aaaa/mm/jj hh:mm:ss,000")&STXT(A2;NBCAR(B2);9^9)
Bien sûr écrire SUBSTITUE(B2;"::";".") et ss.000 si le séparateur décimal est le point.

Le tableau peut être trié chronologiquement sur la colonne C.

A+

patricktoulon

XLDnaute Barbatruc
re
bonjour
si tu a des soucis avec le millièmes pour des opérations quelconques c'est pas le format qu'il faut changer mais bien la valeur
des cellules formatées s'affichent comme tu veux mais la valeur reste la même
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Le problème est simplement que les millièmes sont supprimés dès qu'on passe en mode édition d'une cellule.
Même le simple fait de sélectionner une cellule affiche dans la barre de saisie son contenu arrondi à la seconde. C'est cet arrondi qui est utilisé quand on entre en mode édition de la cellule.
Pour ne pas perdre les millièmes, il faut soit les re-saisir, soit sortir de l'édition sans valider.

Je ne sais pas si on peut changer facilement ce comportement d'Excel.
Si non, peut-être qu'une macro peut pallier le problème ???
 

job75

XLDnaute Barbatruc
Bonsoir jphflo, riton00, patricktoulon, Marcel32,

Chez moi sur Excel 2019 le format hh:mm:ss,000 est bien pris en compte voyez le fichier joint.

Mais dans la barre de formule l'affichage est au format hh:mm:ss, le reste est masqué.

A+
 

Pièces jointes

  • Millièmes de seconde(1).xlsx
    9.8 KB · Affichages: 4

job75

XLDnaute Barbatruc
Si l'on ne veut pas avoir de problème en revalidant les heures en colonne A il faut mettre cette colonne au format Texte, fichier (2).
 

Pièces jointes

  • Millièmes de seconde(2).xlsx
    9.8 KB · Affichages: 3

GALOUGALOU

XLDnaute Accro
bonsoir jphflo bonsoir le forum bonsoir le fil
a l'analyse je suis arrivé à la même conclusion que job75, j'ai mis un format texte en colonne A, et j'ai fait appel à cette colonne avec la fonction cnum, les cellules de destination au format jj/mm/aaaa hh:mm:ss,000, cette nouvelle colonne devenant la colonne de référence pour les calculs.
je vous ai livré le fruit de ma réflexion.
cordialement
galougalou
 

jphflo

XLDnaute Nouveau
Bonsoir à tous et merci pour votre collaboration.

Malheureusement, seul la solution de mettre un apostrophe en début de cellule et de rajouté la virgule et re-saisir les millièmes fonctionne. Impossible à faire manuellement car les fichiers contiennent des milliers de lignes.
Je vous donne plus d'infos car une autre solution à mon problème de départ existe surement mais je ne suis pas suffisamment compétant en la matière.
Les trames originales à trier sont sous cette forme.

16/3/2020 7:3:33::84 SAAT E Liaison:6: Msg Acquitte : I14 863104
16/3/2020 7:6:47::513 SAAT E Liaison:6: Message a emettre : I533 8370

Lorsque vous commencer à mélanger les traces dans un même fichier afin de pouvoir faire une analyse avec un tri du plus petit au plus grand ça devient très vite un beau bazar...
Donc pour éviter cela j'ai besoin de ressortir le début de chaque trames.

16/3/2020 7:3:33::84
16/3/2020 7:6:47::513

Et mettre en forme comme ceci.

16/03/2020 07:03:33,840
16/03/2020 07:06:47,513

Je place ensuite le début de la trame modifier dans une nouvelle colonne devant la trace et trie l'ensemble via cette colonne. Ainsi la trace originale n'est pas modifier.
je vous mets un extrait des modifications via un nouveau fichier.

Si quelqu'un a une idée via des formules ou une macro je suis preneur.

jphflo
 

Pièces jointes

  • Classeur1.xlsx
    17.2 KB · Affichages: 7

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir à tous,

On peut aussi séparer la valeur de départ (colonne A) en deux nombres: l'un est la date et heure sans les millièmes (colonne B), l'autre les millièmes (colonne C).
L'inverse est possible aussi, voir colonne D.
Est ce que c'est utile ? Je n'en sais rien.

En date + heure (sans les millièmes): =CNUM(GAUCHE(TEXTE(A2;"jj/mm/aaaa hh:mm:ss,000");19)) colonne B
Les millièmes en nombre : =CNUM(DROITE(TEXTE(A2;"s,000");3))/1000 colonne C
Retrouver une vraie Date + Heure avec les millièmes: =B2+1/24/60/60*C2 colonne D
 

Pièces jointes

  • jphflo- est-il encore temps- v1.xlsx
    11.4 KB · Affichages: 5
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonsoir à tous

Tu peux peut-être faire dans H2 avec CONCATENER(CNUM(D2);" ";F2;",";G2), ainsi les "millièmes" ne disparaissent pas lorsqu'on sélectionne ces cellules. Et tu peux faire le tri sur cette colonne H, il me semble.

@ plus
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,



Tu peux tester ceci en B2 de ton classeur (les colonnes D à I ne sont alors pas utilisées) :
=SUBSTITUE(GAUCHE(C2;TROUVE(" ";C2;12)-1);"::";",")*1
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour le fil, le forum,

Ci-joint le fichier du post #9 modifié avec les formules en B2 et C2 :
Code:
=GAUCHE(A2;TROUVE(" ";A2;TROUVE(" ";A2)+1))

=TEXTE(SUBSTITUE(B2;"::";",");"aaaa/mm/jj hh:mm:ss,000")&STXT(A2;NBCAR(B2);9^9)
Bien sûr écrire SUBSTITUE(B2;"::";".") et ss.000 si le séparateur décimal est le point.

Le tableau peut être trié chronologiquement sur la colonne C.

A+
 

Pièces jointes

  • Classeur(1).xlsx
    11.7 KB · Affichages: 3
Dernière édition:

jphflo

XLDnaute Nouveau
Bonjour le forum,

Je reviens vers vous, des soucis mon retardés...
Je vous remercie tous de vos propositions et idées. Elles mon permises de finaliser mon fichier de trie et d'analyse.
Au final j'utilise les formules ci-dessous dans mon fichier.
=SUBSTITUE(GAUCHE(C2;TROUVE(" ";C2;12)-1);"::";",")*1
=TEXTE(SUBSTITUE(GAUCHE(C2;TROUVE(" ";C2;12)-1);"::";",")*1;"jj/mm/aaaa hh:mm:ss,000")&STXT(C2;TROUVE(" ";C2;12);9^9)
=MOD(LIGNE();2)=0
Je vous mets en pièce jointe le fichier de teste définitif.
Des macros se charge de faire le travail

Merci encore à tous pour votre coopération
 

Pièces jointes

  • Classeur4.xlsm
    25 KB · Affichages: 4

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…