Bonjour à toutes et à tous,
Quelqu'un peut-il m'aider sur un boucle VBA ou je ne trouve pas de solution (ni même d'idée à vrai dire)
Voici le projet : (fichier Excel en PJ)
Dans une feuille Excel j'ai en colonne A des groupes (dans l'exemple 6 groupes). Chaque groupe contient des données identiques au niveau du nom et variable au niveau du nombre.
Dans les colonnes C,D,E,F,G j'ai des notes pour chaque membre du groupe. Chaque colonne représente une période.
Enfin, dans les 5 dernières colonnes j'ai le rang (vide dans le fichier en PJ) ou j'aimerais intégrer une fonction Excel qui calcul le rang automatiquement en fonction de la note par rapport au groupe.
La fonction "=RANG" fonctionne très bien, le hic, c'est que je ne sais pas comment boucler sur chaque groupe afin d'identifier combien il y a d'individu dans le groupe et implémenter la fonction RANG avec les bon arguments.
Groso modo le résultat final devrait ressembler à cela :
Etc..NOM | Note | Rang Groupe 1 | 15.2 | 2 Groupe 1 | 17.3 | 1 Groupe 1 | 12.7 | 3 Groupe 2 | 9.7 | 1 Groupe 2 | 2.7 | 3 Groupe 2 | 8.7 | 2 Groupe 3 | 8.7 | 1 Groupe 4 | 17.0 | 2 Groupe 4 | 14.1 | 3 Groupe 4 | 11.3 | 4 Groupe 4 | 19.7 | 1
L'ordre du rang donne 1 à la meilleure note du groupe et ainsi de suite.
Donc je suis un peu perdu et ne sais pas trop comment attaquer.
Dans le fichier les groupes seront toujours triés de A à Z
Je pensais créer dans une feuille vide la liste des noms des groupes, boucler dessus pour enregistrer le nom de chaque groupe unique, puis boucler sur la feuille ou sont les données au moins pour pouvoir compter le nombre de ligne que contient chaque groupe et ainsi définir la plage ou doit s'effectuer la fonction Rang.
Voir plus simple, trier chaque plage (groupe) en ordre croissant et ajouter 1 dans la colonne rang pour la première ligne, ensuite 1+1 dans la 2ème etc..
La petite subtilité c'est qu'il y a 5 rangs à calculer par groupe (5 période) car les notes ne sont pas les mêmes d'une période à l'autre. Et surtout, parfois il n'y a pas de note, et ça Excel n'aime pas. Il faudrait ignorer les membres du groupe sans note pour que la fonction Rang affiche un résultat correct.
Désolé de n'avoir aucun code à proposer car je suis dans les choux
Merci pour votre aide et vos conseils
Bon weekend à toutes et à tous
Partager