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

XL 2016 SetTimer incompatible version excel

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

carlos

XLDnaute Impliqué
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)

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

Pièces jointes

Je sais que c'est en appuyant qu'on sera le plus précis, la question c'est comment réagit la tablette. Est-ce que le clic a lieu quand on lève le pouce, et si maleureusement c'est le cas est-ce qu'un MouseDown a bien lieu quand on l'y pose ?
Bon combien de fois plus gros que mes boutons actuels alors ? Les boutons actuels ont 32 pixels de coté.
 
Dernière édition:
Bonjour Dranreb,
C'est super. Exactement ce que je voulais. Je vois que tu as travaillé tard.
J'ai déjà commencé à ajouter l'option de sélectionner automatiquement l'élève suivant après l'enregistrement du temps.
Merci beaucoup pour tes efforts et d'avoir su t'adapter à ma demande.
Je te dis à bientôt car j'aurai certainement d'autres questions à te poser pour le rendre compatible avec mes autres outils.
Carlos
 

Pièces jointes

Bonjour
Mais alors au Reset il faut remonter d'une ligne pour l'annuler si on ne s'en rend compte qu'après avoir arrêté le chrono ?
En fait je l'avais déjà ajouté dans une version plus avancée, j'avais seulement oublié de validé l'envoi du message.
Mais je le fais au relâchement du bouton rouge. Je joins la version actuelle.
Elle permet de corriger le Apte/Inapte, comme ça plus besoin de l'autre UFmGestionInaptes. Un bouton bascule permet d'afficher les inaptes.
Elle a aussi un dispositif dans la feuille pour insérer/supprimer une ligne.
Édition: petite correction apportée.
 

Pièces jointes

Dernière édition:
bonsoir tout les deux
perso j'ai toujours un soucis de compréhension avec ce pseudo événement

j'ai tenté ceci

dans le userform 1 label et un bouton
et son code
VB:
Public cl As New Classe1
Dim Tic As Long
Private Sub cl_Intervient(ByVal Tic As Long)
        UserForm1.Label1 = Tic
End Sub


Private Sub CommandButton1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Tic = 10
    cl.MéthodeRésevée Tic

End Sub

la classe1
VB:
Option Explicit
Rem. Cette classe a pour but de permettre un traitement périodique dans un objet.
Event Intervient(ByVal Tic As Long)   

Public Sub MéthodeRésevée(ByVal Tic As Long)    ' NE PAS UTILISER.'pourquoi???????
     RaiseEvent Intervient(Tic)
End Sub
rien du tout walouh!!!
@Dranreb quand tu aura un instant et l'envie si tu veux bien expliquer 😉
 
Bonsoir.
Les instructions Event et RaiseEvent mettent en œuvre de vrais évènements, pas des pseudo événements.
Ceux ci ne peuvent pas être pris en charge coté utilisation si la variable n'est pas déclaré avec l'attribut WithEvents.
Par ailleurs il faut implanter un modèle de la procédure de prise en charge à l'aide des listes déroulantes qui surmontent la fenêtre de code. Je ne pense pas qu'on puisse combiner dans la déclaration WithEvents avec New.
 
Dernière édition:
re
a oui j'avais oublié mais non j'avais déjà essayé il y a erreur d'object "object non definie "
et c'est normal l'event n'est pas un object classe

j'ai donc tenté la déclaration event + 1 instance et toujours rien
code userform
VB:
Public WithEvents cl As Classe1
Dim cls As New Classe1
'Public cl As New Classe1
Dim Tic As Long
Private Sub cls_Intervient(ByVal Tic As Long)
        UserForm1.Label1 = Tic
End Sub


Private Sub CommandButton1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Tic = 10
    cls.MéthodeRésevée Tic

End Sub

code classe1
VB:
Option Explicit
Rem. Cette classe a pour but de permettre un traitement périodique dans un objet.
Event Intervient(ByVal Tic As Long)

Public Sub MéthodeRésevée(ByVal Tic As Long)    ' NE PAS UTILISER.'pourquoi???????
     RaiseEvent Intervient(Tic)
End Sub

c'est ça que je voudrais que tu explique
 
Oui, à partir du moment où on ne peut pas mettre New dans la déclaration à cause du WithEvents, il faut l'initialiser quelque part par un Set cl = New Classe1. Remarque ce n'est possible que dans un module objet, et il est rare qu'une variable objet à évènement y soit en même temps une propriété de cet objet. Alors: Private, pas Public. Et tu as mis la procédure _Intervient pour l'exemplaire déclaré sans évènement.
 
Dernière édition:
re
(private/ pubic) (event/object ) rien toujours rien😕
pas d'erreur déclenchée vraiment rien du tout
j'ai mis un msgbox dans Méthoderesevée et elle est bien appelée mais ne déclenche pas l'events
bon je reprendrais demain la je suis crevé j'ai eu une semaine de fou 😉
je te remercie
 
Ceci marche dans un UserForm muni d'un CommandButton1 et d'un Label1 :
Code UserForm :
VB:
Option Explicit
Public WithEvents CL As Classe1
Private Sub UserForm_Initialize()
   Set CL = New Classe1
   End Sub
Private Sub CL_Intervient(ByVal Tic As Long)
   Me.Label1 = Tic
   End Sub
Private Sub CommandButton1_Click()
   CL.MéthodeNonRéservée 10
   End Sub
Code Classe1 :
VB:
Option Explicit
Event Intervient(ByVal Tic As Long)
Public Sub MéthodeNonRéservée(ByVal Tic As Long)
' Dans ce schéma, elle n'est pas réservée à un module de service, puisqu'elle est invoquée
' dans un UserForm utilisateur. Je fais toujours une grande distinction de couches entre les
' outils que forme la programmation de service et la programmation applicative qui s'en sert.
' Mes modules de classe étant toujours des modules de service, les commentaires y sont
' des guides d'utilisation pour le programmeur d'application qui veut les utiliser.
' Alors quand je mets "NE PAS UTILISER", ça sous-entend: par lui même.
   RaiseEvent Intervient(Tic)
   End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…