Match

Retour vers Excel

Les Matchs de RollerFloche

Exposé : Mr Trouvetou est entraîneur de l'équipe locale de RollerFloche et il veut suivre le goal average de ces trois joueurs. Une saison de RollerFloche comprend 3 matchs...Il crée donc une mise en page comme suit :

Son intention est de remplir les cases à gauche du fichier et il espère bien voir son tableau "Statistiques" se remplir automatiquement. Pour cela , il a mis en place des formules mais on constate que cela produit un affichage qui n'était pas du tout espéré. Les #N/A sont assez disgracieux et ne remplissent pas les vœux de Mr Trouvetou. En fait, ceci existe car les noms des joueurs ne sont pas triés dans l'ordre alphabétique...Aussi, l'auteur a placé un bouton appelé "Calculer" pour retrier les données à la demande et enlever ainsi toute cause d'erreur possible. Voyez le tableau après avoir pousser sur le bouton "Calculer"

Bon, je sais que la mention "Calculer" sur ce bouton n'est pas vraiment correcte, il serait plus adéquat de noter "Trier" mais pour un utilisateur la mention "Calculer" est nettement plus parlante et l'on peut très bien remplir tous les matchs avant d'utiliser ce bouton... Mais comment ce bouton fonctionne-t-il ?

Avec l'enregistreur de macro, j'ai créé le code nécessaire pour trier les zones

Sub Macro1()
    Range("A2:B4").Select
    Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
        
    Range("A7:B9").Select
    Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
        
    Range("A12:B14").Select
    Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Ensuite, grâce à la barre d'outils "Formulaire" j'ai posé un bouton sur la Feuil1 ce qui me permet d'initialiser le code suivant. Ce qui signifie que je souhaite l'exécution du code "Macro1" (du verbe "to call" qui signifie "appeler" en français)

 

Il reste maintenant à créer les formules dans chaque cellule du tableau "Statistiques". Ce qui donne ceci :

En clair, je fais une recherche verticale de la valeur contenue dans E3 dans un ensemble de cellules depuis A2 jusque B4 et lorsque le tableur a trouvé le contenu de E3 dans cette plage de données, il retourne le contenu de la 2ème colonne se trouvant sur la même ligne que la valeur retrouvée...

Donc, sur ce second exemple, je cherche "Paul" (écrit F3) dans une plage de cellules (de A7 à B9) et je retourne la valeur en colonne 2 (ici, ce sera 0)...On peut mettre des références absolues avec les signes $ devant les adresses des cellules pour faciliter les copier-coller

Il ne reste plus qu'à faire les totaux avec la formule "Somme"

Et voilà, notre tableau est fonctionnel et l'on peut changer les chiffres dans les tableaux de gauche, le tableau "Statistiques" se mettra à jour automatiquement

Remarque : On peut très bien se passer des #N/A et de trier le tableau, si on ajoute FAUX comme argument supplémentaire dans notre formule =RECHERCHEV(E3;A2:B4;2;"FAUX") comme ceci on peut laisser notre tableau non trié

Fichier Match

FIN