Timer dans plusieurs cellules Excel
Résolu/Fermé
raptoretienne
Messages postés
12
Date d'inscription
jeudi 7 avril 2016
Statut
Membre
Dernière intervention
13 avril 2016
-
Modifié par pijaku le 7/04/2016 à 07:51
raptoretienne Messages postés 12 Date d'inscription jeudi 7 avril 2016 Statut Membre Dernière intervention 13 avril 2016 - 13 avril 2016 à 22:47
raptoretienne Messages postés 12 Date d'inscription jeudi 7 avril 2016 Statut Membre Dernière intervention 13 avril 2016 - 13 avril 2016 à 22:47
A voir également:
- Minuteur excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Mise en forme conditionnelle excel - Guide
17 réponses
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
7 avril 2016 à 14:43
7 avril 2016 à 14:43
Bonjour,
Moins gourmand en CPU:
dans un module:
Dans VBA de la feuille:
Y a encore moins gourmand avec des timers system(non gerer par excel) mais faut voir si vous avez bien plus de 4 timers
Moins gourmand en CPU:
dans un module:
Option Explicit Public TM(3) As Boolean 'Flag L/S timer Sub Timer_C2() With Worksheets("feuil1") .Range("C2") = .Range("C2") + 1 'incremente cellule End With If Not TM(0) Then 'si pas stop Application.OnTime Now + TimeValue("00:00:01"), "Timer_C2" 'boucle sur procedure au bout de 1 seconde End If End Sub Sub Timer_C3() With Worksheets("feuil1") .Range("C3") = .Range("C3") + 1 End With If Not TM(1) Then Application.OnTime Now + TimeValue("00:00:01"), "Timer_C3" End If End Sub Sub Timer_C4() With Worksheets("feuil1") .Range("C4") = .Range("C4") + 1 End With If Not TM(2) Then Application.OnTime Now + TimeValue("00:00:01"), "Timer_C4" End If End Sub
Dans VBA de la feuille:
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Target, Range("B2:B4")) Is Nothing Then If Target = 1 Then TM(Target.Row - 2) = False 'flag lance timer Range("C" & Target.Row) = -1 'init timer Application.Run "Timer_C" & Target.Row 'lance le timer Else TM(R) = True 'stop timer End If End If End Sub
Y a encore moins gourmand avec des timers system(non gerer par excel) mais faut voir si vous avez bien plus de 4 timers
raptoretienne
Messages postés
12
Date d'inscription
jeudi 7 avril 2016
Statut
Membre
Dernière intervention
13 avril 2016
7 avril 2016 à 18:54
7 avril 2016 à 18:54
Merci, je vais essayer cela lors de mon retour a la maison, je te tiens au courant!
Et en fait je pensais avoir besoin de 40 timers, est ce que ça bouffe trop de cpu?
Et en fait je pensais avoir besoin de 40 timers, est ce que ça bouffe trop de cpu?
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
7 avril 2016 à 19:05
7 avril 2016 à 19:05
Re,
y a une erreur suite oubli apres des modifs
devient apres des modifs
besoin de 40 timers Faut que je teste. Avec 3 timers de "mon" code, excel prend mois de 1% CPU sur mon PC, apres ca depend du PC. Par contre avec votre code de depart, 1 timer 30% CPU
y a une erreur suite oubli apres des modifs
TM(R) = True 'stop timer
devient apres des modifs
TM(Target.Row - 2) = True 'stop timer
besoin de 40 timers Faut que je teste. Avec 3 timers de "mon" code, excel prend mois de 1% CPU sur mon PC, apres ca depend du PC. Par contre avec votre code de depart, 1 timer 30% CPU
raptoretienne
Messages postés
12
Date d'inscription
jeudi 7 avril 2016
Statut
Membre
Dernière intervention
13 avril 2016
7 avril 2016 à 23:10
7 avril 2016 à 23:10
J'ai essayé avec les modifications et j'obtiens cette erreur:
Erreur de compilation:
Sub ou Function non définie
(Feuille1 5:12)
:(
Erreur de compilation:
Sub ou Function non définie
(Feuille1 5:12)
:(
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
7 avril 2016 à 23:56
7 avril 2016 à 23:56
Bonjour à tous,
f894009, il ne faudrait pas mémoriser les heures de lancement et désactiver les timers dans workbook.close ?
Pour éviter que le fichier se rouvre s'il y en a un en cours.
eric
f894009, il ne faudrait pas mémoriser les heures de lancement et désactiver les timers dans workbook.close ?
Pour éviter que le fichier se rouvre s'il y en a un en cours.
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
raptoretienne
Messages postés
12
Date d'inscription
jeudi 7 avril 2016
Statut
Membre
Dernière intervention
13 avril 2016
8 avril 2016 à 00:17
8 avril 2016 à 00:17
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
Modifié par pijaku le 8/04/2016 à 08:29
Modifié par pijaku le 8/04/2016 à 08:29
Bonjour,
Ben oui.
Ce code, comme l'a dit f894009 doit être dans un module standard (Insertion/Module sous VBA).
En faisant cela, vous rendrez "visible" les fonctions qu'il contient dans tout votre classeur.
Et donc vous n'aurez plus l'erreur Sub ou Function non définie ...
CQFD
EDIT : une petite erreur toutefois dans le code WorkSheet_Change().
Remplacer :
par :
Ben oui.
Ce code, comme l'a dit f894009 doit être dans un module standard (Insertion/Module sous VBA).
En faisant cela, vous rendrez "visible" les fonctions qu'il contient dans tout votre classeur.
Et donc vous n'aurez plus l'erreur Sub ou Function non définie ...
CQFD
EDIT : une petite erreur toutefois dans le code WorkSheet_Change().
Remplacer :
TM(R) = True
par :
TM(Target.Row - 2) = True
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
8 avril 2016 à 08:50
8 avril 2016 à 08:50
Bonjour a tous
eriic:
il ne faudrait pas mémoriser les heures sais pas ce qu'il veut en faire donc pour le moment code pour compter, apres nous aviserons
pijaku:
Merci du rappel, c'etait pourtant ecrit !!!!!
raptoretienne
Je vais tester 40 compteurs actifs pour le CPU et voir comment coder au plus juste
eriic:
il ne faudrait pas mémoriser les heures sais pas ce qu'il veut en faire donc pour le moment code pour compter, apres nous aviserons
pijaku:
Merci du rappel, c'etait pourtant ecrit !!!!!
raptoretienne
Je vais tester 40 compteurs actifs pour le CPU et voir comment coder au plus juste
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
8 avril 2016 à 12:15
8 avril 2016 à 12:15
Re,
raptoretienne:
J'ai teste avec 24 et ca roule. Mais que voulez vous faire, car si vous avez l'idee de saisir dans d'autres cellules pendant le comptage,ca le bloque et c'est normale
raptoretienne:
J'ai teste avec 24 et ca roule. Mais que voulez vous faire, car si vous avez l'idee de saisir dans d'autres cellules pendant le comptage,ca le bloque et c'est normale
raptoretienne
Messages postés
12
Date d'inscription
jeudi 7 avril 2016
Statut
Membre
Dernière intervention
13 avril 2016
8 avril 2016 à 17:48
8 avril 2016 à 17:48
En fait je voulais une colonne avec les chiffres 1 et 40 qui représente 40 tests, selon le résultats (+/-) j'insère 0 ou 1 dans la colonne adjacente et le chrono démarre, à 40 secondes, je peux faire le test numéro 2, etc.
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
8 avril 2016 à 19:08
8 avril 2016 à 19:08
Re,
Est-ce que vous aurez jusqu'a 40 chronos actifs en meme temps, expliquez un peu plus svp ??
j'insère 0 ou 1 Quelle difference entre les deux puisque le chronos demarre ??
Est-ce que vous aurez jusqu'a 40 chronos actifs en meme temps, expliquez un peu plus svp ??
j'insère 0 ou 1 Quelle difference entre les deux puisque le chronos demarre ??
raptoretienne
Messages postés
12
Date d'inscription
jeudi 7 avril 2016
Statut
Membre
Dernière intervention
13 avril 2016
Modifié par raptoretienne le 8/04/2016 à 21:33
Modifié par raptoretienne le 8/04/2016 à 21:33
C'est pour un projet de recherche, le patient passe un test d'odorat, s'il identifie la bonne odeur, il se mérite un 1, sinon un 0. Entre chaque odeur, il doit y avoir un délai de 40 secondes. À la fin, avec je pourrai faire une sommation de la colonne faire les analyses au besoin. Le timer ici n'est pas essentiel, il me permettrait seulement de tout avoir mes outils sur une même feuille excel.
PS: merci beaucoup, j'ai réussi à faire marcher ton code sans erreur, toutefois, seulement la valeur 1 semble déclencher le code et non pas la valeur 0 aussi?
PS: merci beaucoup, j'ai réussi à faire marcher ton code sans erreur, toutefois, seulement la valeur 1 semble déclencher le code et non pas la valeur 0 aussi?
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
Modifié par f894009 le 9/04/2016 à 07:59
Modifié par f894009 le 9/04/2016 à 07:59
Bonjour,
Oui, seul 1 declanche pour l'instant.
Entre chaque odeur, il doit y avoir un délai de 40 secondes
Si j'ai bien compris, un seul chronos suffirait ou j'ai loupe un bout du film ??
code modifie pour 0 et 1
VBA Feuille:
Oui, seul 1 declanche pour l'instant.
Entre chaque odeur, il doit y avoir un délai de 40 secondes
Si j'ai bien compris, un seul chronos suffirait ou j'ai loupe un bout du film ??
code modifie pour 0 et 1
VBA Feuille:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Not Application.Intersect(Target, Range("B2:B25")) Is Nothing Then If Target <> "" And (Target.Value = 1 Or Target.Value = 0) Then TM(Target.Row - 2) = False 'flag lance timer Range("C" & Target.Row) = -1 'init timer Application.Run "Timer_C" & Target.Row 'lance le timer Else TM(Target.Row - 2) = True 'stop timer End If End If End Sub
raptoretienne
Messages postés
12
Date d'inscription
jeudi 7 avril 2016
Statut
Membre
Dernière intervention
13 avril 2016
9 avril 2016 à 16:02
9 avril 2016 à 16:02
En fait, comme c'est la, il me resterais qu'à mettre les cases jusqu'à B41/C41 et ça fonctionnerais. Mais oui un seul chrono pourrait fonctionner, ex: je rentre 0/1 dans B2 le chrono démarre en C2, ensuite attente de 40 secondes, je rentre de nouveau 0/1 en B3, le chrono de C2 pourrait reprendre de 0, attente de 40 secondes, etc.
Je ne sais pas si c'est assez clair haha.
Merci beaucoup pour votre aide, je n'y comprend pas grand chose à cette bouillie pour les chats :)
Je ne sais pas si c'est assez clair haha.
Merci beaucoup pour votre aide, je n'y comprend pas grand chose à cette bouillie pour les chats :)
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
9 avril 2016 à 20:25
9 avril 2016 à 20:25
Re,
Petit détail, le chrono c'est pour les 40s d'attente et le 0 ou 1 c'est pour le chrono de la cellule suivante ????
Petit détail, le chrono c'est pour les 40s d'attente et le 0 ou 1 c'est pour le chrono de la cellule suivante ????
raptoretienne
Messages postés
12
Date d'inscription
jeudi 7 avril 2016
Statut
Membre
Dernière intervention
13 avril 2016
9 avril 2016 à 20:32
9 avril 2016 à 20:32
Oui exactement: j'insère 0/1 --> 40 secondes --> j'insère 0/1 --> 40 secondes --> j'insère 0/1 (répéter 40 fois).
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
10 avril 2016 à 08:16
10 avril 2016 à 08:16
Bonjour,
Je regarde la chose
À+
Je regarde la chose
À+
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
10 avril 2016 à 14:13
10 avril 2016 à 14:13
Re,
un exemple pour s'amuser:
https://www.cjoint.com/c/FDkmmGENKHf
un appercu quand ca compte:
un exemple pour s'amuser:
https://www.cjoint.com/c/FDkmmGENKHf
un appercu quand ca compte:
raptoretienne
Messages postés
12
Date d'inscription
jeudi 7 avril 2016
Statut
Membre
Dernière intervention
13 avril 2016
10 avril 2016 à 18:30
10 avril 2016 à 18:30
J'ai excel sur mac, je crois que c'est moyen compatible, rien ne se passe lorsque je clique sur start ou stop.
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
10 avril 2016 à 18:51
10 avril 2016 à 18:51
Re,
Fallait le dire!!!!
version sans API Windows, mais croix de fermeture de l'UF
https://www.cjoint.com/c/FDkqZGlG4Kf
Fallait le dire!!!!
version sans API Windows, mais croix de fermeture de l'UF
https://www.cjoint.com/c/FDkqZGlG4Kf
raptoretienne
Messages postés
12
Date d'inscription
jeudi 7 avril 2016
Statut
Membre
Dernière intervention
13 avril 2016
10 avril 2016 à 19:23
10 avril 2016 à 19:23
fonctionne pas non plus :(
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
10 avril 2016 à 20:34
10 avril 2016 à 20:34
Re,
Et oui, il y a aussi les boutons qui ne vont pas. Demain, je remplace ces boutons contrôle activex. Je prendrai un Mac pour faire les modifs
À+
Et oui, il y a aussi les boutons qui ne vont pas. Demain, je remplace ces boutons contrôle activex. Je prendrai un Mac pour faire les modifs
À+
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
11 avril 2016 à 10:11
11 avril 2016 à 10:11
Bonjour,
Excel2011:
https://www.cjoint.com/c/FDliluD12rf
Excel2011:
https://www.cjoint.com/c/FDliluD12rf
raptoretienne
Messages postés
12
Date d'inscription
jeudi 7 avril 2016
Statut
Membre
Dernière intervention
13 avril 2016
11 avril 2016 à 18:02
11 avril 2016 à 18:02
Comment je fais pour que cela fonctionne? je clique sur start ça ne fais rien, dès que je clique sur une case je suis redirigé faire A1, pas moyen d'insérer 0 ou 1.
Merci
Merci
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
11 avril 2016 à 18:42
11 avril 2016 à 18:42
Re,
J'ai ecrit qu'il fallait utiliser le CLIC DROIT SOURIS
J'ai ecrit qu'il fallait utiliser le CLIC DROIT SOURIS
raptoretienne
Messages postés
12
Date d'inscription
jeudi 7 avril 2016
Statut
Membre
Dernière intervention
13 avril 2016
13 avril 2016 à 22:47
13 avril 2016 à 22:47
Super merci beaucoup :)