Confiné, je fais appel à votre aide aujourd'hui.
Voilà, je possède un fichier avec 400 noms de sociétés et une note attribuée pour chaque valeur (2 étant la note maximale et -2 la note minimale, pas de 0,5) et pour chaque mois.
A travers de VBA, je cherche à lister dans le deuxième onglet uniquement 5 valeurs par mois en fonction de 2 critères:
- Les notes des 3 derniers mois sont "supérieurs à 1,5"
- La moyenne des notes des 6 derniers mois est "supérieure à 1,5"
J'ai un donné un petit visuel de ce que je cherche à faire sur l'onglet 2.
Il faut savoir que des nouvelles colonnes correspondant à des nouveaux mois vont s'implémenter à la suite au fil du temps. Je cherche une solution spécifiquement sur VBA (pas de formules).
Je pense qu'il sera également de trouver des valeurs pour les 5 premiers mois.
En PJ un nouvel essai.
Bien évidemment je commence au 6ème mois de façon à faire la moyenne.
J'ai mis le seuil de 1.5 en B1, ce qui permet de le faire varier.
Si inutile changer la ligne :
VB:
Seuil = [B1] par Seuil = 1.5
Par contre je ne fais pas de tri par classement car je ne mémorise pas tous les calculs intermédiaires.
Et je ne remonte pas les 5 premiers, mais tous ceux qui sont au dessus du seuil.
Bonsoir James,
En PJ un essai, à tester, et à retester.
Il suffit d'appuyer sur le bouton "the best"
Les résultats sont en feuill2.
Comme il peut y avoir plus de 5 company à répondre aux bons critères et qu'il n'y a pas façon de discriminer, j'ai créé une "note" qui est Note n-2 + Note n-1 + Note N + Moyenne6Mois, et à la fin je tri sur ces notes. Ca vaut ce que ça vaut.
A vous de le modifier pour répondre à vos besoins.
NB1 : j'ai oublié : Je tri sur une valeur >=1.5. Si vous voulez uniquement > il faut modifier le code sur la ligne :
VB:
If tablo(i, Largeur) >= 1.5 And tablo(i, Largeur - 1) >= 1.5 And tablo(i, Largeur - 2) >= 1.5 Then
NB2: par contre ça, je n'ai pas compris ... donc pas traité.
Je pense qu'il sera également de trouver des valeurs pour les 5 premiers mois.
En PJ une version un peu optimisé.
Concernant le choix :
- Soit on met tous les ex æquo de la meilleure note sans limite de nombre
- Soit on limite la liste aux 5 meilleurs.
Comme je ne savais quoi choisir, j'ai mis en Feuil2 4 filtres possibles.
A vous de choisir la version qui vous sied le mieux.
En PJ une version un peu optimisé.
Concernant le choix :
- Soit on met tous les ex æquo de la meilleure note sans limite de nombre
- Soit on limite la liste aux 5 meilleurs.
Comme je ne savais quoi choisir, j'ai mis en Feuil2 4 filtres possibles.
A vous de choisir la version qui vous sied le mieux.
Merci énormément pour ta solution! Je comprends ce que tu as fait, mais je voulais pour chaque mois une liste de 5 (ou plus comme tu as fait) valeurs. Si je me trompe pas ton fichier calcul sur l'ensemble de la période?
Pardon pour l'incompréhension... En gros, chaque mois je souhaitais une liste de 5 valeurs correspondant aux 2 critères.
Bonjour,
Oui c'est exactement ce que je veux mais pour chaque mois!
Voici un visuel de ce que je cherche (les valeurs sont prises au hasard, juste pour montrer la forme).
En PJ un nouvel essai.
Bien évidemment je commence au 6ème mois de façon à faire la moyenne.
J'ai mis le seuil de 1.5 en B1, ce qui permet de le faire varier.
Si inutile changer la ligne :
VB:
Seuil = [B1] par Seuil = 1.5
Par contre je ne fais pas de tri par classement car je ne mémorise pas tous les calculs intermédiaires.
Et je ne remonte pas les 5 premiers, mais tous ceux qui sont au dessus du seuil.
En PJ un nouvel essai.
Bien évidemment je commence au 6ème mois de façon à faire la moyenne.
J'ai mis le seuil de 1.5 en B1, ce qui permet de le faire varier.
Si inutile changer la ligne :
VB:
Seuil = [B1] par Seuil = 1.5
Par contre je ne fais pas de tri par classement car je ne mémorise pas tous les calculs intermédiaires.
Et je ne remonte pas les 5 premiers, mais tous ceux qui sont au dessus du seuil.