[Excell] Réalisation d'un "compteur"
Résolu/Fermé
Cyberfuel
Messages postés
14
Date d'inscription
samedi 14 mai 2011
Statut
Membre
Dernière intervention
1 août 2011
-
14 mai 2011 à 19:20
Cyberfuel Messages postés 14 Date d'inscription samedi 14 mai 2011 Statut Membre Dernière intervention 1 août 2011 - 31 juil. 2011 à 13:25
Cyberfuel Messages postés 14 Date d'inscription samedi 14 mai 2011 Statut Membre Dernière intervention 1 août 2011 - 31 juil. 2011 à 13:25
A voir également:
- [Excell] Réalisation d'un "compteur"
- Compteur électrique - Guide
- Comment ralentir un compteur linky forum - Accueil - Objets connectés
- Compteur communicant - Guide
- Compteur de contractions - Télécharger - Santé & Bien-être
- Modele demande d'installation d'un compteur de gaz sonelgaz - Forum PDF
12 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
14 mai 2011 à 21:14
14 mai 2011 à 21:14
Bonsoir,
Le 1er 1 en colonne B est en ligne :
=EQUIV(1;B1:B2000;0)
2nd 1 :
=EQUIV(1;B1:B2000;0)+EQUIV(1;DECALER(B1:B2000;D2;);0)
1er temps au format excel en colonne A :
INDEX(A1:A2000;EQUIV(1;B1:B2000;0))
2nd temps :
INDEX(A1:A2000;EQUIV(1;B1:B2000;0)+EQUIV(1;DECALER(B1:B2000;D2;);0))
Ta vitesse est donc de :
=1/(INDEX(A1:A2000;EQUIV(1;B1:B2000;0)+EQUIV(1;DECALER(B1:B2000;D2;);0))-INDEX(A1:A2000;EQUIV(1;B1:B2000;0)))
Si ça ne colle pas avec tes données tu peux déposer un classeur exemple sur cijoint.fr et coller le lien fourni ici.
eric
Le 1er 1 en colonne B est en ligne :
=EQUIV(1;B1:B2000;0)
2nd 1 :
=EQUIV(1;B1:B2000;0)+EQUIV(1;DECALER(B1:B2000;D2;);0)
1er temps au format excel en colonne A :
INDEX(A1:A2000;EQUIV(1;B1:B2000;0))
2nd temps :
INDEX(A1:A2000;EQUIV(1;B1:B2000;0)+EQUIV(1;DECALER(B1:B2000;D2;);0))
Ta vitesse est donc de :
=1/(INDEX(A1:A2000;EQUIV(1;B1:B2000;0)+EQUIV(1;DECALER(B1:B2000;D2;);0))-INDEX(A1:A2000;EQUIV(1;B1:B2000;0)))
Si ça ne colle pas avec tes données tu peux déposer un classeur exemple sur cijoint.fr et coller le lien fourni ici.
eric
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
Modifié par eriiic le 15/05/2011 à 17:11
Modifié par eriiic le 15/05/2011 à 17:11
Re,
Tes dates sont en plus au format anglais mm/jj/aaaa ce qui rallonge encore les formules.
J'ai préféré te décomposer le calcul sur plusieurs cellules que tu puisses suivre la construction et éviter une formule trop longue..
Pour le calcul de vitesse j'ai supposé qu'il fallait fournir le temps en secondes.
http://www.cijoint.fr/cjlink.php?file=cj201105/cijlEdrpSW.xls
Si tu en as besoin souvent on peut envisager une fonction personnalisée en vba.
Soit pour convertir les temps, soit pour fournir la vitesse directement (ou les deux...)
eric
PS : la fonction personnalisée qui permet de convertir le temps en date excel :
Tes dates sont en plus au format anglais mm/jj/aaaa ce qui rallonge encore les formules.
J'ai préféré te décomposer le calcul sur plusieurs cellules que tu puisses suivre la construction et éviter une formule trop longue..
Pour le calcul de vitesse j'ai supposé qu'il fallait fournir le temps en secondes.
http://www.cijoint.fr/cjlink.php?file=cj201105/cijlEdrpSW.xls
Si tu en as besoin souvent on peut envisager une fonction personnalisée en vba.
Soit pour convertir les temps, soit pour fournir la vitesse directement (ou les deux...)
eric
PS : la fonction personnalisée qui permet de convertir le temps en date excel :
Function convertT(temps As String) As Date Dim tt tt = Split(temps, " ") convertT = CDate(tt(0)) + CDate(Left(tt(1), 8)) + CDbl(Right(tt(1), 4)) / 86400 + (tt(2) = "PM") * 0.5 End Function
tontong
Messages postés
2567
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
20 novembre 2024
1 059
15 mai 2011 à 19:18
15 mai 2011 à 19:18
Je ne parvenais pas à un fonctionnement correct de la formule de conversion
=DATE(STXT(C2;7;4);STXT(C2;1;2);STXT(C2;4;2))+STXT(C2;12;12)+((DROITE(C2;2)="PM")*"12:00:00")
J'ai du remplacer le point par une virgule pour faire fonctionner (xl2003)
=DATE(STXT(C2;7;4);STXT(C2;1;2);STXT(C2;4;2))+SUBSTITUE(STXT(C2;12;12);".";",")+((DROITE(C2;2)="PM")*"12:00:00")
=DATE(STXT(C2;7;4);STXT(C2;1;2);STXT(C2;4;2))+STXT(C2;12;12)+((DROITE(C2;2)="PM")*"12:00:00")
J'ai du remplacer le point par une virgule pour faire fonctionner (xl2003)
=DATE(STXT(C2;7;4);STXT(C2;1;2);STXT(C2;4;2))+SUBSTITUE(STXT(C2;12;12);".";",")+((DROITE(C2;2)="PM")*"12:00:00")
Cyberfuel
Messages postés
14
Date d'inscription
samedi 14 mai 2011
Statut
Membre
Dernière intervention
1 août 2011
15 mai 2011 à 00:42
15 mai 2011 à 00:42
Bin écoute je te remercie de m'avoir répondue. Je regardeça au plus tôt et je te tiens au jus.
Grand merci.
Cyberfuel
Grand merci.
Cyberfuel
Cyberfuel
Messages postés
14
Date d'inscription
samedi 14 mai 2011
Statut
Membre
Dernière intervention
1 août 2011
15 mai 2011 à 10:29
15 mai 2011 à 10:29
Bonjour,
J'avoue que je n'arrive pas à obtenir ce que je veux. Je ne comprends pas très les fonctions mais ça m'a l'air bien faisable avec.
Je te joins le lien "cijoint.fr": http://www.cijoint.fr/cjlink.php?file=cj201105/cijEmTqHfb.xlsx
J'espère que tu pourra m'aider, la rotation moteur et le temps sont indiqués.
Je vais tenter avec une structure en "si".
Merci de ton aide.
Cyberfuel
J'avoue que je n'arrive pas à obtenir ce que je veux. Je ne comprends pas très les fonctions mais ça m'a l'air bien faisable avec.
Je te joins le lien "cijoint.fr": http://www.cijoint.fr/cjlink.php?file=cj201105/cijEmTqHfb.xlsx
J'espère que tu pourra m'aider, la rotation moteur et le temps sont indiqués.
Je vais tenter avec une structure en "si".
Merci de ton aide.
Cyberfuel
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
15 mai 2011 à 12:44
15 mai 2011 à 12:44
C'est parce que tes dates sont au format texte et nécessitent une conversion.
Je verrais ça un peu plus tard si tu n'as pas eu de compléments, je suis occupé aujourd'hui...
eric
Je verrais ça un peu plus tard si tu n'as pas eu de compléments, je suis occupé aujourd'hui...
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Cyberfuel
Messages postés
14
Date d'inscription
samedi 14 mai 2011
Statut
Membre
Dernière intervention
1 août 2011
15 mai 2011 à 12:50
15 mai 2011 à 12:50
Oui, c'est pourquoi j'ai fait une échelle de temps à partir de 0s et incrémenté de 17 hz à chaque fois.
Je planche sur le sujet. Je te remercie.
Bon dimanche
Cyberfuel
Je planche sur le sujet. Je te remercie.
Bon dimanche
Cyberfuel
Cyberfuel
Messages postés
14
Date d'inscription
samedi 14 mai 2011
Statut
Membre
Dernière intervention
1 août 2011
15 mai 2011 à 22:04
15 mai 2011 à 22:04
D'abord, un énorme merci.
J'ai essayer de comprendre votre méthode, je crois avoir compris. Je l'ai appliqué au fichier suivant:
http://www.cijoint.fr/cjlink.php?file=cj201105/cijcadr9Pl.xlsx
J'ai appliqué votre méthode sur la première ligne (C9) et en remplaçant les dates par l'échelle de temps de la colonne (I).
Ensuite j'ai appliquer une fonction (SI) qui permet de garder le même calcul ou de l'incrémenter si la valeur en C= 1.
Ainsi, j'obtiens une vitesse constante sur un tour. Croyez vous que c'est juste?
Je vais appliquer cette méthode à un relever de vitesse connues voir si ça marche. Je vous tiendrez au courant.
Encore merci
Cyberfuel
J'ai essayer de comprendre votre méthode, je crois avoir compris. Je l'ai appliqué au fichier suivant:
http://www.cijoint.fr/cjlink.php?file=cj201105/cijcadr9Pl.xlsx
J'ai appliqué votre méthode sur la première ligne (C9) et en remplaçant les dates par l'échelle de temps de la colonne (I).
Ensuite j'ai appliquer une fonction (SI) qui permet de garder le même calcul ou de l'incrémenter si la valeur en C= 1.
Ainsi, j'obtiens une vitesse constante sur un tour. Croyez vous que c'est juste?
Je vais appliquer cette méthode à un relever de vitesse connues voir si ça marche. Je vous tiendrez au courant.
Encore merci
Cyberfuel
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
Modifié par eriiic le 16/05/2011 à 23:07
Modifié par eriiic le 16/05/2011 à 23:07
Bonsoir,
Le pb que je vois sur ton tableau c'est que la vitesse est erronée sur les lignes qui justement servent à la calculer.
Et tu n'avais pas précisé qu'il n'y avait pas qu'un seul calcul de vitesse...
Je verrais plutôt ça à partir de la 2nd ligne :
en O :
=SI(LIGNE()<=P9;O9;LIGNE()-1+EQUIV(1;DECALER($C$1;LIGNE()-1;;$P$7-LIGNE()+1;);0))
en P :
=SI(LIGNE()<=P9;P9;O10+EQUIV(1;DECALER($C$1;O10;;$P$7-LIGNE()+1;);0))
Et pourquoi le 2nd 1 ne servirait pas comme 1er 1 à un autre calcul de vitesse ?
eric
http://www.cijoint.fr/cjlink.php?file=cj201105/cijAp76I50.zip
Le pb que je vois sur ton tableau c'est que la vitesse est erronée sur les lignes qui justement servent à la calculer.
Et tu n'avais pas précisé qu'il n'y avait pas qu'un seul calcul de vitesse...
Je verrais plutôt ça à partir de la 2nd ligne :
en O :
=SI(LIGNE()<=P9;O9;LIGNE()-1+EQUIV(1;DECALER($C$1;LIGNE()-1;;$P$7-LIGNE()+1;);0))
en P :
=SI(LIGNE()<=P9;P9;O10+EQUIV(1;DECALER($C$1;O10;;$P$7-LIGNE()+1;);0))
Et pourquoi le 2nd 1 ne servirait pas comme 1er 1 à un autre calcul de vitesse ?
eric
http://www.cijoint.fr/cjlink.php?file=cj201105/cijAp76I50.zip
Cyberfuel
Messages postés
14
Date d'inscription
samedi 14 mai 2011
Statut
Membre
Dernière intervention
1 août 2011
17 mai 2011 à 11:08
17 mai 2011 à 11:08
Bonjour, je t'avoue que je suis un peut perdue.
Je reconnait que tu as raison, les lignes sur lesquels je veux calculer la vitesse sont fausses.
Effectivement je souhaite utiliser les deuxièmes 1 comme premiers 1 lors du calcul de vitesse suivant. Exemple:
A partir de la ligne 774, le premier 1 doit être celui de la ligne 774 et le deuxième celui de la ligne 817.
Je me penche sur ce point là d'ici peu.
En tout cas, gros merci pour le temps que tu passes dessus
Cyberfuel
Je reconnait que tu as raison, les lignes sur lesquels je veux calculer la vitesse sont fausses.
Effectivement je souhaite utiliser les deuxièmes 1 comme premiers 1 lors du calcul de vitesse suivant. Exemple:
A partir de la ligne 774, le premier 1 doit être celui de la ligne 774 et le deuxième celui de la ligne 817.
Je me penche sur ce point là d'ici peu.
En tout cas, gros merci pour le temps que tu passes dessus
Cyberfuel
Cyberfuel
Messages postés
14
Date d'inscription
samedi 14 mai 2011
Statut
Membre
Dernière intervention
1 août 2011
Modifié par Cyberfuel le 18/05/2011 à 10:22
Modifié par Cyberfuel le 18/05/2011 à 10:22
Bonjour,
Je viens de plancher un petit peu sur mon bazar et je crois que je tiens le bon bout!
J'ai gardé une grosse partie des fonctions que a entré, j'ai modifié le Si est j'arrive a avoir une vitesse aux lignes incrémentées d'un 1 et celles entre deux 1.
De la ligne 0 jusqu'à la 773 ça ne marche mais c'est normal puisque ma carte d'acquisition n'a encore rien détectée!
Voici le fichier modifié: http://www.cijoint.fr/cjlink.php?file=cj201105/cijLveKc8N.zip
Par contre je ne comprends pas trop le rôle de la dernière ligne (ce que tu as rentré en P7) tu peux m'éclairer stp?
Encore une fois, grand merci
Cyberfuel
Je viens de plancher un petit peu sur mon bazar et je crois que je tiens le bon bout!
J'ai gardé une grosse partie des fonctions que a entré, j'ai modifié le Si est j'arrive a avoir une vitesse aux lignes incrémentées d'un 1 et celles entre deux 1.
De la ligne 0 jusqu'à la 773 ça ne marche mais c'est normal puisque ma carte d'acquisition n'a encore rien détectée!
Voici le fichier modifié: http://www.cijoint.fr/cjlink.php?file=cj201105/cijLveKc8N.zip
Par contre je ne comprends pas trop le rôle de la dernière ligne (ce que tu as rentré en P7) tu peux m'éclairer stp?
Encore une fois, grand merci
Cyberfuel
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
18 mai 2011 à 12:21
18 mai 2011 à 12:21
Bonjour,
Réutiliser le 2nd 1 simplifie les les formules.
Bien vu pour O10, en P9 je mettrais :
=O9+EQUIV(1;DECALER($C$1;O9;;$P$7-O9;);0)
$P$7 sert à effectuer la recherche jusqu'à la dernière ligne utilisée.
C'était difficile d'utiliser une valeur fixe comme 30000 car en dernière ligne ça faisait 30000+30000, on s'approchait trop de la dernière ligne utilisable sur excel 2003 (65536 lignes).
Si tu connais le nombre maxi de données et l'intervale maxi entre deux 1 tu peux remplacer $P$7-O9 (hauteur de la plage de recherche) par une valeur fixe.
eric
Réutiliser le 2nd 1 simplifie les les formules.
Bien vu pour O10, en P9 je mettrais :
=O9+EQUIV(1;DECALER($C$1;O9;;$P$7-O9;);0)
$P$7 sert à effectuer la recherche jusqu'à la dernière ligne utilisée.
C'était difficile d'utiliser une valeur fixe comme 30000 car en dernière ligne ça faisait 30000+30000, on s'approchait trop de la dernière ligne utilisable sur excel 2003 (65536 lignes).
Si tu connais le nombre maxi de données et l'intervale maxi entre deux 1 tu peux remplacer $P$7-O9 (hauteur de la plage de recherche) par une valeur fixe.
eric
Cyberfuel
Messages postés
14
Date d'inscription
samedi 14 mai 2011
Statut
Membre
Dernière intervention
1 août 2011
20 mai 2011 à 13:02
20 mai 2011 à 13:02
Super,
Bin pour l'instant c'est ce que je veux, je validerai le modèle par un essai dès que je suis de retour de chez moi.
Dans tout les cas je te tiendrai au courant.
Et encore grand merci.
Cyberfuel
Bin pour l'instant c'est ce que je veux, je validerai le modèle par un essai dès que je suis de retour de chez moi.
Dans tout les cas je te tiendrai au courant.
Et encore grand merci.
Cyberfuel
Cyberfuel
Messages postés
14
Date d'inscription
samedi 14 mai 2011
Statut
Membre
Dernière intervention
1 août 2011
31 juil. 2011 à 13:25
31 juil. 2011 à 13:25
Bonjour,
Désolé de ne revenir sur ce post que maintenant mais j'ai eu pas mal de soucis "hardware" pour mon banc d'essaie.
D'abord merci a toi, éric, tu m'as bien aidé.
Tout marche (presque) j'ai simplement un souci avec le traitement de mon compte tour. Le tambour sur lequel est fixé l'aimant change de sens de rotation, le problème c'est qu'à ce moment là, l'aimant repasse devant le capteur sans que le tambour ai fait un tour complet et donc j'ai un pic au niveau de ma vitesse. Je vais chercher comment faire appliquer un filtre à ma colonne pour ignorer les valeurs supérieures à une vitesse données.
Merci
Cyberfuel
(Dès que c'est nickel je t'enverrai le résultat pour que tu vois bien l'ensemble)
Désolé de ne revenir sur ce post que maintenant mais j'ai eu pas mal de soucis "hardware" pour mon banc d'essaie.
D'abord merci a toi, éric, tu m'as bien aidé.
Tout marche (presque) j'ai simplement un souci avec le traitement de mon compte tour. Le tambour sur lequel est fixé l'aimant change de sens de rotation, le problème c'est qu'à ce moment là, l'aimant repasse devant le capteur sans que le tambour ai fait un tour complet et donc j'ai un pic au niveau de ma vitesse. Je vais chercher comment faire appliquer un filtre à ma colonne pour ignorer les valeurs supérieures à une vitesse données.
Merci
Cyberfuel
(Dès que c'est nickel je t'enverrai le résultat pour que tu vois bien l'ensemble)