XL 2016 SetTimer incompatible version excel

carlos

XLDnaute Impliqué
Supporter XLD
Bonjour,
en désinstallant excel 2007 pour excel 2016 mes fichier utilisant la déclaration suivante ne marchent plus : TimerID = SetTimer(0, 0, Interval, AddressOf Chrono)
1576157419894.png

J'ai beau mettre ptrsafe et longptr cela ne résout rien.
Auriez vous une proposition?
Carlos
 

Pièces jointes

  • Chronometrer une classe V 1.2.xls
    100.5 KB · Affichages: 16

Dranreb

XLDnaute Barbatruc
Dranreb,
ta solution est très pertinent mais elle me parait difficilement utilisable en exterieur et dans mon environnement.
J'aimerai la meme chose mais avec un gros bouton qui declencle le chrono, un qui gere les inaptes, un qui gere les faux depart etc....
est il possible d'integrer ce que tu as fait dans mon USF? C'est ce que j'essaie de faire.
Je ne savais pas. Oui ça devrait être possible. QueryPerformanceCounter reste ce qu'on peu trouver de plus précis.
Ce serait plus facile de s'y retrouver si les contrôles portaient tous des nom commençant par un trigramme pris dans la liste ci dessous et continuant par une partie mnémonique commençant par une majuscule.
1576525396770.png

Vous n'avez pas besoin des variables liées au repositionnement automatique de l'UFmChrono, ni de toutes les méthodes permettant son pilotage de l'extérieur. Concentrez vous juste sur le rafraichissement du temps affiché par la RythRaff_Intervient et sur l'essentiel du code de méthode Stopper (à supprimer sans doute) que vous pouvez mettre dans la procédure du CommandButton que vous aurez renommé CBnStartStop par exemple …
 

Dranreb

XLDnaute Barbatruc
Sinon si l'observation du poste #61 est quand même intéressante, il y a aussi un truc simple qui pourrait être fait, c'est d'agrandir la taille et le Zoom de l'UFmChrono. Mais il faudrait je crois enlevez le positionnement, initial par .PositNorm.
 

carlos

XLDnaute Impliqué
Supporter XLD
Je ne savais pas. Oui ça devrait être possible. QueryPerformanceCounter reste ce qu'on peu trouver de plus précis.
Ce serait plus facile de s'y retrouver si les contrôles portaient tous des nom commençant par un trigramme pris dans la liste ci dessous et continuant par une partie mnémonique commençant par une majuscule.
Regarde la pièce jointe 1049190
Vous n'avez pas besoin des variables liées au repositionnement automatique de l'UFmChrono, ni de toutes les méthodes permettant son pilotage de l'extérieur. Concentrez vous juste sur le rafraichissement du temps affiché par la RythRaff_Intervient et sur l'essentiel du code de méthode Stopper (à supprimer sans doute) que vous pouvez mettre dans la procédure du CommandButton que vous aurez renommé CBnStartStop par exemple …
Bonjour Dranreb,
je ne connaissais pas ce tableau et ce niveau d'exigence. Merci
Je vais travailler sur cela : le rafraichissement du temps affiché par la RythRaff_Intervient et sur l'essentiel du code de méthode Stopper
 

patricktoulon

XLDnaute Barbatruc
Bonjour a tous
@carlos
tu veux bien essayer cet userform avec ton excel 2019?
et me dire si çà fonctionne
essaie d'abord le bouton ensembles et arrête tous !!!!les avec leur bouton stop

ensuite un autre test
démarre les chacun avec les bouton start et arrete les tous !!! avec leur bouton stop

ca devrait donner quelque chose comme ca (plus rapide bien sur le gif etant a 3 frame par seconde)
demo3.gif
 

Pièces jointes

  • multi timer settimer pour userform.xlsm
    29.6 KB · Affichages: 7

Hervé

XLDnaute Barbatruc
salut :)

bon, on en est ou du bonheur de carlos ?

non, je met pas la pression du tout, mais j'ai souvent aidé carlos par le passé et là je ne peux rien faire, donc j'aimerai bien qu'il trouve une solution.

je m'autorise à compter sur vous bernard et patrick

a plus
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonsoir.
À aucun moment le 3ième paramètre du SetTimer n'aurait de raison d'être émis sur le bus adresse du microprocesseur, ni de pouvoir valoir plus que le maxi possible avec un Long. Il n'y donc aucune raison d'être d'un autre type qu'auparavant. Le handle non plus, c'est apparemment toujours un indice en Long dans un tableau d'adresses maintenu dans et par Windows. L'identification du Timer non plus, il est fixé par l'appelant lors du SetTimer, et un long c'est largement suffisant. Mais si ça ne plante pas en les déclarant inutilement As LongPtr, ça devrait signifier qu'ils sont toujours rangés à des adresses multiples de 8 par rapport au départ de pile courant assigné à la procédure, même si elles ont des longueurs inférieures.
 

patricktoulon

XLDnaute Barbatruc
re
bonsoir a tous
@Dranreb tu a raison c'est vrai que dans la fonction c'est un long
perso j'ai fait le tour en long et en large je comprends pas pourquoi ca ne marche pas chez marcos
j'ai fouillé par tout sur le net dans le doute et nos déclarations sont bonnes en 64

le code est tellement simple que je me demande si il n'y a pas incompatibilité avec le mode tablette de W8/10
 

Dranreb

XLDnaute Barbatruc
Bonjour.
@carlos, souhaiteriez vous ma version d'un UFmChoronoClasse prévu pour un seul affichage unique, simplifié coté affichage du temps, sans redémarage possible depuis le temps précédent et tout ça, mais avec les contrôles LBxNoms, LabNom, LabTemps, CBnStartStop et CBnReset ? Je peux aussi prévoir la ImgPhoto si vous voulez. Ce que je ne comprends pas c'est pourquoi vous recherchez tout le temps des chose dans la feuille alors que le Listindex de la LBxNoms augmenté de 1 vous donne directement le numéro de ligne dans la base, puisque vous en avez chargé toutes les lignes apparemment ? Ne pourrait-on mettre cette base sous forme de tableau à références structurées ? D'ailleurs même si la ListBox ne devait contenir que les aptes qui n'ont pas encore de temps, je ne ferais pas non plus comme ça: je prévoierais une liste de numéros de lignes dans la base correspondant à chaque ligne de la ListBox pour n'avoir pas à les y rechercher. Est-ce qu'une ComboBox ne serait pas mieux qu'une ListBox (Il permettrait l'économie du LabNom) ?
Je me pose toutefois une question: sur une tablette, le clic sur un bouton a-t-il aussi malheureusement lieu quand on lève le pouce du bouton et non quand on l'y pose tout comme il a lieu quand on relâche le bouton de la souris ?
Si oui, un MouseDown se produit-il par contre quand on y pose le pouce ?
Je pourrais aussi vous dessiner des images de boutons ronds plus grosses si vous me donnez la taille désirée en pixels et utiliser ces ImgBtnRouge/Vert/Enfoncé à la place du CBnStartStop
Auriez vous quelque chose contre les couleurs adoptées pour le moment dans mon trop petit UFmChrono actuel ?
 

carlos

XLDnaute Impliqué
Supporter XLD
Bonjour Dranreb,
merci pour cette énorme proposition.
Je signe tout de suite.
Pour répondre à vos questions :
Je ne suis pas un spécialiste informatique. J'ai appris grâce à votre site . Je suis un bidouilleur qui fait marcher des outils tant bien que mal.
J'ai construit cet outil au début de mon auto-formation. A ce moment je recherchais le nom dans chacune des lignes d'excel. Je sais maintenant qu'on peut aller plus vite selon la listindex de la listbox.
La listbox ne devra pas contenir les inaptes.
Je souhaite conserver cette listbox car elle permet d'avoir une très bonne vue générale et de pouvoir cliquer facilement sur un autre élève (1 clic au lieu de 2 sur la combo).
Pour le pouce avant ou après, je ne sais pas quoi vous répondre. il vaut mieux démarrer le chrono en appuyant plutôt qu'en relâchant le bouton.
Je ne connais pas la taille en pixel des boutons. Je sais que le bouton doit faire 4cmx4cm. Je ne sais si cela vous aide.
Ok pour les couleurs adoptées dans votre outil.
Votre outil me permettra ensuite de mettre à jour mes 15 autres outils bidouillés.
Merci beaucoup
Carlos
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 213
Membres
103 158
dernier inscrit
laufin