Compteur d'occurence (comme TCV) et suppression de ligne d'un tableau

Bonjour,

je poste un message sur ce forum car dans mes recherches je ne trouve pas de chose suffisamment ressemblante pour m'aider et je suis débutante en VBA.

Dans mon fichier joint, il y a deux feuilles:

  • feuil1 : ma base de données, c'est un relevé de temps de cycle d'une machine A en seconde, je m'intéresse à la colonne F qui correspond au relevé de ces temps. En colonne J j'ai juste mis la valeur "1" pour pouvoir compter les occurrences de chaque temps de cycle dans un tcd. En colonne K, j'ai arrondi à 1 chiffre après la virgule la colonne F
  • feuil TCD : j'ai fait un tcd basé sur les colonne K et J, pour compter le nombre d'occurrence de chaque temps de cycle. et j'ai dessiné un histogramme de l'occurrence de chaque données.

Mon objectif avec cet histogramme est de nettoyer ma base de données, pour cela je veux supprimer mes temps de cycle nuls et vide (2 barres entourées en rouge) et ensuite conserver uniquement mon pic maximal( entouré en vert), c'est à dire le temps de cycle qui se répète le plus.

Je veux donc dans ma feuil3 supprimer les lignes qui correspondent à un temps de cycle nul ou vide.

J'ai fait une macro dans le module 4, pour supprimer les valeurs nulles dans ma feuil1. Mais elle ne supprime rien, je ne comprends pas pourquoi. Je voudrais qu'elle supprime toutes les valeurs nulles en un seul clic, sans avoir à cliquer plusieurs fois. Pourriez vous m'expliquer pourquoi mon code ne fonctionne pas ? et me dire de la même manière comment supprimer les temps de cycle vide ?

Ensuite une fois les valeurs nulles supprimées il faut que je supprime toutes les valeurs qui ne sont pas égales à la valeur qui a l'occurrence maximale, et là je ne vois pas vraiment comment faire en VBA, je me demande s'il n'est pas plus simple d'utiliser mon tcd et de faire faire à une macro "je supprime toutes les temps de cycle différents de 6,6s, soit toutes les valeurs différentes du index equiv du maximum de la colonne B en feuille tcd".

Voici mon fichier :

22exemple.xlsx (506.87 Ko)

Je vous remercie d'avance si quelqu'un à le temps de regarder,

Bien cordiazlement,

Julilu

Bonjour "Julie"

il n'y a pas de module puisque ton fichier n'est pas accompagné d'une macro sans quoi il serait terminé par "XLSM"

et si tu filtres le tableau sous le graphique en décochant les zéros ?

P.

Bonjour,

Dans la mesure ou tu travailles avec Excel 2016, tu as la possibilité d'utiliser "Récupérer et transformer", soit Power Query.

Le nettoyage des données (mises sous forme de tableau) est simplifié et nul besoin de VBA.

Je ne comprends pas tout mais ce que tu recherches visiblement est le mode (6,6).

Quel serait le résultat final attendu (TCD & GCD)?

Un début de réponse dans le fichier joint.

A te relire.

Cdlt.

17exemple-1.xlsx (769.71 Ko)

Bonjour à tous els deux

je vous remercie de vos réponses très rapides, je mets donc un fichier avec des macro en pièce jointe, en espérant qu'elles y soient

je souhaiterais directement supprimer les lignes avec un temps de cycle nul ou vide directement dans ma base de données car je ne veux pas stocker ces données. Dans mon exemple on trouve les données relevées sur 1 semaine, or je vais ajouter la même quantité de données chaque semaine et mon fichier va grossir, c'est pourquoi je voudrais supprimer les données inutiles à chaque nous mise à jour, pour ne pas utiliser inutilement de l'espace de stockage.

De plus j'ai ajouté une feuille "ce que je cherche à obtenir" pour montrer le genre de graphique que je souhaite obtenir finalement : l'évolution du temps de cycle en fonction de la semaine

J'ai créé la feuille TCD uniquement pour vous montrer mon raisonnement et montrer quelles données je veux supprimer et pourquoi. Clairement mon graphique dans la feuille" ce que je cherche .." n'est pas vraiment lisible à cause des valeurs que j'ai dans ma base de données qui sont inutiles, ce sont celles différentes de 6,6.

Ainsi dans ma feuille TCD on voit que les données avec un temps de cycle égal à 0 ou vides sont à supprimer et ensuite la seule valeurs significatives pour moi et le 6,6, je veux supprimer toutes les autres valeurs pour ne garder que le 6,6.

Je vais me renseigner sur le Power query, effectivement ca pourrait m'être très utile. Cependant la valeur que je souhaiterai garder ne sera pas toujours 6,6, c'est en fait la valeur qui a l'occurrence la plus forte (ici 2228) si on retire les valeur à 0 (ici 5385)

J'espère m'être exprimer suffisamment clairement, effectivement je ne suis pas sure d'expliquer correctement ce que je souhaite,

en tout ca je vous remercie d'avoir pris le temps de me lire

Julie

avec le fichier

13exemple.xlsm (721.45 Ko)

Je ne connaissais pas la fonction mode simple, mais effectivement je pense que je peux creuser dans cette direction, en supprimant avec un macro les temps de cycle nul ou vide, ensuite je calcule le mode simple de ma colonne, j'obtiens 6,6 dans ce cas et ensuite je fais une autre macro qui supprime toutes les lignes dont le temps de cycle est différent du résultat de mon mode simple

Je vais travailler dans ce sens

Re,

Je n'ai toujours pas compris l'objectif, qu'il soit réalisé en VBA, ou avec Power Query...

Cdlt.

D'accord, en fait j'extrais une base de données constituée de temps de cycle en seconde, dans mon exemple j'ai extrais les données sur 1 semaine. Chaque semaine je vais extraire de nouvelles données et les ajouter à ma base de données.

Mon objectif est de trier ces données pour retirer les données aberrantes qui perturbent mes résultats.

Je veux voir à partir de ces données le temps de cycle de ma machine. Dans mon exemple on voit qu'il y a eut des cycles à 6secondes, d'autres à 8secondes, d'autres même à 19,5secondes, ce qui est totalement aberrants et perturbe mes résultats, j'ai décidé grâce à mon histogramme de ne garder que le temps de cycle qui a eu la plus grande occurrence soit le temps de cycle de 6,6secondes qui a eu une occurrence de 2228, car pour moi c'est vraiment cette valeur mesurée 2228 fois qui représentent le temps de cycle réel de ma machine, les autres valeurs mesurées sont le résultats de perturbations. Le fait de choisir la valeur qui a la plus grande occurrence est ne fait une décision que j'ai prise.

Ainsi chaque semaine je vais garder uniquement le temps de cycle qui a eu la plus grande occurrence, par exemple 6,6 pour la semaine 1 (de mon exemple) ensuite à la fin de la semaine 2, j'extrais les données de ma semaine 2 , de nouveau je garde uniquement le temps de cycle qui a la plus garnde occurrence, prenons par exemple cette fois 7 secondes.

Avec ces deux temps de cycle je trace une courbe de l'évolution du temps de cycle de ma machine en fonction des semaines.

Dans cet exemple je vois que ma machine a subit des dégradations puisque mon temps de cycle a augmenté par exemple

N'hésitez pas si je dois préciser certaines choses

Bonjour,

je ne comprends pas vraiment tout d'abord pourquoi ma macro qui doit supprimer les lignes =0 ne fonctionne pas :/

Bonjour,

Ou est la procédure VBA dans ton fichier?

Cdlt.

Excusez moi j'ai des difficultés à enregistrer mes macros dans mon fichier, je refais une tentative

Bonjour,

excusez moi j'ai quelques soucis pour enregistrer mes macros avec le fichier, je retente

d'avance merci

Je complète mon fichier avec en première page la macro pour supprimer les lignes nulles

et en seconde page la seconde macro qui doit me permettre de supprimer les lignes différentes du résultats de la fonction mode.simple appliquée à la colonne F

D'avance merci,

Bien cordialement,

Julie

Bonjour,

auriez vous des conseils à me donner ?

Bonjour,

Un début de réponse à étudier.

Cdlt.

8julilu-v1.xlsm (480.95 Ko)
Rechercher des sujets similaires à "compteur occurence comme tcv suppression ligne tableau"