Résolu Just On Time!!!!!!!!!!!!!!!!!!
Menhir, plein d'étoiles...pour aller se rhabiller!!!!!!!!!!!!!
Version imprimable
Résolu Just On Time!!!!!!!!!!!!!!!!!!
Menhir, plein d'étoiles...pour aller se rhabiller!!!!!!!!!!!!!
En fait, il y a toujours un problème:
La minute passe après 100 secondes et non 60.....
Salut Kestion,
Voici, Voilou.
En séquentiel d'une seconde.
Si le temps dépassait une heure alors, je pense, la même adaptation serait nécessaire pour le casCode:tablo(1) > 60
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 Option Explicit Sub essai() Dim T As Single T = Timer Dim f As Integer f = -1 Dim i As Byte Dim strdurée As String Dim tablo As Variant For i = 1 To 70 Application.Wait Now + TimeValue("00:00:01") strdurée = Format(Timer - T, "00:00:00.000") tablo = Split(strdurée, ":") If tablo(2) > 60 Then f = f + 1 tablo(1) = Format(tablo(1) + 1, "00") tablo(2) = Format(tablo(2) - Int(tablo(2)) + f, "00.000") End If strdurée = tablo(0) & ":" & tablo(1) & ":" & tablo(2) Worksheets("Feuil1").Cells(i, 1).Value = strdurée Next i End Sub
Ok, je comprends l'idée mais ne comprends pas pourquoi:, j'aurais dit 3600???Code:For i = 1 To 70
Ton code tourne impec jusqu'à 00:01:10,000 mais pas plus donc pour aller à l'heure dont tu parles je penche pour 3600???
Pour passer l'heure, comment verrais-tu la chose?
Si j'ai bien compris (et ça à l'air de fonctionner comme ça) je mets mon code entre:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Option Explicit Sub essai() Dim T As Single T = Timer Dim f As Integer f = -1 Dim i As Byte Dim strdurée As String Dim tablo As Variant
Et:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 For i = 1 To 70 Application.Wait Now + TimeValue("00:00:01") strdurée = Format(Timer - T, "00:00:00.000") tablo = Split(strdurée, ":") If tablo(2) > 60 Then f = f + 1 tablo(1) = Format(tablo(1) + 1, "00") tablo(2) = Format(tablo(2) - Int(tablo(2)) + f, "00.000") End If strdurée = tablo(0) & ":" & tablo(1) & ":" & tablo(2) Worksheets("Feuil1").Cells(i, 1).Value = strdurée Next i End Sub
Bonjour
La solution donnée d'emblée par Menhir (que je salue et ai plussoyée :plusser:) est de très loin la plus pure.
Je rappelle que lorsque l'on connait une durée en millisecondes, il est toujours possible de la décomposer, si on le souhaite, arithmétiquement en heures, minutes, secondes et millisecondes.
La présente intervention est faite sans préjudice de certains aspects (latences, etc ...) en ce qui concerne l'ambition de déterminer une durée avec une telle précision, notamment à partir de relevés de la fonction Timer.
Et si l'on y ajoute (ce qui est le cas de la fonction Format) des ralentissements eux-mêmes gourmands, on s'écarte encore plus de l'ambition de base. ;)
C'est un exemple, Kestion.Citation:
Ok, je comprends l'idée mais ne comprends pas pourquoi:
Il y avait 2 aspects dans ton questionnement
- mesure de la durée d'exécution
- affichage du temps écoulé sous forme séquentielle.
Il faut donc adapter ma proposition à ton besoin
Bonjour Unparia,
J'admets volontiers mon infériorité technique.
Et ce d'autant que je partagerais volontiers ce que tu avances.
Au demeurant, avant la technicité, s'il y une chose qui me mets hors de moi, il s'agit bien du manque de courtoisie.
Mets-toi à ma place en ayant rédigé le post #3 et en lisant le post #4.
Or, si l'on cite les règles du forum en ce qui concerne les pièces jointes, il faut aussi être juste et citer ces mêmes règles en matière comportementale.
Que coûtent un "salut", un "bonjour", un "je comprends ...au demeurant", un "à bientôt"?
D'un certain dirait que je "déconne". Il faudrait me le démontrer dans ce cas.
En conclusion, j'exprime mon regret quant au climat délétère qui se dégage au vu de certaines discussions.
Celui-ci, à mon sens, est préjudiciable à la fois pour ceux qui y participent, et ceux qui nous lisent.
Voilà ce que je pense.
Ok MarcelG, je m'en doutais.
Quant à moi, je n'ai jamais décrété que j'ai eu ici l'idée du siècle et serai encore plus humble techniquement mais face à MarcelG car si Menhir apporte quand même un peu d'eau au moulin, Unparia est très certainement un génie génialissime mais n'a pas fait avancer le caillou du moindre epsilon en décrétant que mon idée ne vaut que ce qu'elle vaut sans que je n'ai jamais visé plus haut.
Quand on a que cela, on peut se contenter de politesse du silence.
Je ne sais pas si Einstein ne se serait pas intellectuellement amusé avec la moindre question d'un profane lui plutôt que de se contenter de dire bah pas propre sans plus d'élément technique de réponse??????
Et le pis est que les éléments de réponse logique sur le sens de l'idée est super intéressant, comme nous l'a démontré Heisenberg, on ne peut mesurer précisément un point et sa vitesse (ici plus on essaie d'être précis dans la mesure du temps plus on fausse la mesure...), en effet mais vous avez quand même tous un tachymètre et un GPS dans vos voitures en vous contentant d’approximations de localisation et de vitesse......
MERCI MARCELG DE TE DEMENER AVEC UNE QUESTION QUI VAUT CE QU'ELLE VAUT POUR ARRIVER A CONTOURNER CES ÉCUEILS!!!! IL FAUDRAIT DONC REVISER LA NOTION D'EXPERT SUR CE FORUM D'EXPERTS!!!!!!!!!!!!!
Quand on est tellement expert, il faut inventer le vaccin contre les cancers ou partir en week end sur mars, et ne pas perdre son temps à freiner les réflexions des simples piétons!!!!!
Bonjour MarcelG
Tout n'est que question de point de vue.
Le mien ? --->> sur un forum technique, les priorités ne sont pas exactement celles d'un langage de salon, mais plutôt le souci de dire le plus techniquement possible ce qui est le plus utile possible. Cette manière-là, qui contribue à dégager (entendre mettre en exergue) les égarements éventuels est également une marque de respect.;)
Pour en revenir à la remarque que j'ai faite plus haut :
J'invite Kestion100 à faire cette petite expérience (elle est assez révélatrice du caractère contradictoire de relevés que l'on souhaite au millième de seconde, alors qu'on les pollue allègrement par des opérations qui, elles, sont plus chronophages que les instructions dont on veut relever la vitesse) :
J'ai par exemple vu plus haut un test qu'il faisait, alors qu'il y incluait (entre autres) des "select" -->>
Qu'il teste ceci et en tire les conclusions qui s'imposent (ne jamais chercher à déterminer avec une précision que l'on pollue par ailleurs).
Et je n'ai "pollué" qu'avec le "select" ...Code:
1
2
3
4
5
6
7
8
9
10
11
12 Dim deb As Double deb = Timer For i = 1 To 100000 Range("A1").Select Next MsgBox Timer - deb deb = Timer For i = 1 To 100000 toto = Timer - deb Next MsgBox Timer - deb
Le test ne consistait qu'en un TEST pour voir ce que récupérait le code (par exemple je me suis rendu compte du passage de 100 secondes à 1 minute)
En effet tout est question de pointS de vu ... à condition de ne se limiter au sien qui est quoiqu'on en pense assez limité et je ne parle pas ici uniquement du mien, MarcelG a bien poussé le caillou.
Et je ne ferai pas joujou avec ton code qui n'est pas l'objet de la question posée dans le post, je n'ai pas demandé comment planter une machine et avec le code de MarcelG je ne suis pas arrivé à cet exploit!
Voilà que je me retrouve pollueur maintenant, et c'est le commandant de l'Amoco Cadiz de ce post qui me sort ça!!!!!
Ne trouvant, bien au contraire, pas "limité" le point de vue de Menhir, le partageant de surcroît, je pense que ce que je vais maintenant personnellement "limiter", c'est d'autres interventions complémentaires de ma part dans la présente discussion. Ce que j'avais à dire a été dit dans le premier de mes deux messages (notamment en ce qui concerne l'utilisation de la fonction format dans ce contexte) et n'ai rien d'autre à ajouter.Citation:
à condition de ne se limiter au sien qui est quoiqu'on en pense assez limité
Il faut faire attention à la frontière entre une règle, une doctrine, la morale, une religion et le fondamentalisme:
Je crois être en haut de la montagne pour m'entendre dire d'une grosse voix, dans un éclaire: "Le Code tu ne pollueras point!!!" et d'ajouter "Et point plus tu n'y songeras!!!"
NOUS SOMMES BIEN D'ACCORD ET RIEN QUE CELA VAUDRAIT DEJA UN "RESOLU".
Ce post ne te visait pas personnellement puisque la fonction Format() dans ton code reprenait celui de la question initiale.
J'ai eu plusieurs profs de physiques dans ma scolarité qui m'ont expliqué que pour une mesure, il était absurde d'avoir plus de 3 chiffres significatifs.
C'est pour ça que je pense, en toute honnêteté, qu'indiquer des heures dans une valeur précise au millième de seconde (ou l'inverse) est absurde.
Cette absurdité ne concerne pas ton post #3 mais la demande initiale.
Cela dit, quand on remarque quelque chose d'empiriquement absurde, la politesse consiste-t-elle à le dire ou à le taire ?...
Chacun a sa réponse à cette question. Tu devines quelle est la mienne.
Il est vrai qu'Heisenberg et Feynman nous ont enseigné que la physique n'est pas une science exacte.....et malgré tout ils ont fait quelques mesures et calculs qui étaient donc absurdes.
Ecrire Pi = 3.14 est une mesure incomplète bonne pour les cours de lycée et écrire Pi tout court n'a aucun sens, Pi est insaisissable.
Il me semble que la précision de l'horloge du satellite qui renvoie des coordonnées vos GPS est un peu plus poussée que 3 chiffres, absurde!!!!
Il nous faut le dire.Citation:
Cela dit, quand on remarque quelque chose d'empiriquement absurde, la politesse consiste-t-elle à le dire ou à le taire ?...
Mais ce n'est pas la question et vous le savez bien, Unparia et toi.
Je ne suis pas un "salonnard" (voilà autre chose!). J'apporte juste ma modeste contribution.
Donc je dis juste ceci.
Oui, nous nous devons de contribuer techniquement. Se taire serait répréhensible.
Mais ce avec une certaine forme de courtoisie, à laquelle je suis depuis longtemps attaché.
Ce sera ma dernière intervention. Le Forum a d'autres préoccupations.
Nous pouvons ici mesurer très précisément le temps que nous aurait fait gagner quelque marque de bienséance.
Moi aussi j'ai d'autres préoccupations n'étant pas un professionnel de la profession de salonnard mais les abus rencontrés à quelques reprises ici ou là dans ce forum justifient, à mes yeux, et surtout parce qu'ils ne sont pas majoritaires, sinon je serais allé naviguer sous d'autres cieux, mon acharnement à répondre.