Faire une recherche d'une valeur n'importe où dans un tableau

Bonjour, je souhaite rechercher une valeur unique qui peut se trouver n’importe où dans un tableau. Je précise que mon tableau n’est pas ordonné ou trié car il me sert à enregistrer des scores de foot en fonction du match, de la rotation et du terrain.
Je vous joint un extrait du tableau qui permettra de mieux comprendre mon besoin je l’espère.
J’ai trouvé la solution en utilisant « sierreur » + « rechercheV » en changeant la formule recherche V à chaque colonne (pour être exact, c’est une colonne sur 2 pour mon tableau), mais cela donne une formule immense.
De plus mon tableau peut-être amené à bouger c’est pour cela qu’il faut que la formule me recherche le nom du match (ex: le match A1 VS A2 est appelé _A1_A2 et ce nom est du coup unique).

Merci de me venir en aide.
Saisie résultats.xlsx (15,9 Ko)

Bonjour

Ci-joint ma proposition avec 2 fonctions personnalisées
Une fonction personnalisée pour le score de l’équipe1
Une fonction personnalisée pour le score de l’équipe2

Fais des tests et dis moi

Attention fichier de type « .xlsm » pour leur fonctionnement à maintenir impérativement

Saisie résultats (1).xlsm (22,1 Ko)

Bonjour FFO.
C’est exactement ce qu’il me faut. Votre fonction VBA « fonctionne » à merveille. Un grand merci

Merci pour ta réponse
Au plaisir de t aider à nouveau

Bonjour, j’ai encore une question concernant mon fichier. Je n’arrive pas à faire un classement final prenant en compte le goal-average particulier. Je vous joint le fichier qui sera plus explicite.
Merci d’avance de prendre le temps de chercher une solution à mon mon problème.
Saisie résultats (1).xlsm (40,3 Ko)

Bonjour

Ma proposition ci-jointe si j’ai bien compris ton attente
En colonne AE ma formule avec une fonction personnalisée
Elle te donne si plusieurs équipes ont le même rang le tirage au sort à réaliser ainsi :

"Tirage au sort: équipe1-équipe2-équipe3 etc…

en fonction des rangs similaires

Dis moi si cela te convient

Saisie résultats 2.xlsm (41,8 Ko)

Bonjour, votre proposition me convient mais dans un second temps. Avant d’en arriver au tirage au sort, maintenant que mes doublons sont repérés, je voudrais voir le résultat du match opposant ces 2 équipes, et permettre au vainqueur de ce match de se classer devant l’autre. Si jamais il n’y a pas de vainqueur, votre fonction tirage au sort prend le dessus. Dans notre exemple, USB1 ayant gagné contre Langeac, il doit se positionner au rang 2, et Langeac au rang 3.

Merci

Je ne vois pas dans ton exemple où USB1 a gagné contre Langeac :

Merci de m’éclairer sur ce point

Oups j’ai pas préciser : c’est dans le tableau juste à côté sur les lignes E16 à H16 pour ce match.
Merci

Ce n’est pas si simple que cela car tu ne considères que seulement 2 équipes à égalité
Quid de 3 voir 4 équipes à égalité ?

Pour donc maximum 2 Exæquo ci-joint ma proposition de formule en colonne AF pour les départager en fonction du résultat de leur rencontre colonne E à H

J’ai rajouté en colonne M la concaténation des 2 équipes de la rencontre pour la ligne concernée

Cette donnée est utilisée par ma fonction personnalisée des formules colonne AF

Regardes et dis moi

J’ai conservé colonne AE la formule pour le tirage au sort

Saisie résultats 2.xlsm (45,5 Ko)

J’ai apporté une petite correction pour colonne AF avoir l’intégralité du classement

Saisie résultats 2.xlsm (45,8 Ko)

Je viens de faire plusieurs tests, avec 2 équipes à 9 points, exæquos parfaites, par exemple et les deux autres à 6 points exæquo parfait également, et votre formule fait très bien son travail car elle met au bon rang le vainqueur de la confrontation directe.
Par contre même si c’est moins important je ne comprend rien à cette formule. Elle fait quoi pour arriver au bon résultat?

Ma formule fonctionne avec une fonction personnalisée
Celle-ci analyse tous les rangs en les comparant au rang de la ligne de cette formule
Récupère le nom de l équipe qui a le même recherche sur la concaténation des 2 noms des
exæquos la ligne du match colonne M puis compare le score de chacune d elle
Si l équipe de la ligne de la formule à le meilleur son rang est maintenu sinon un plus 1 lui est rajouté

Voilà le fonctionnement

Tu peux utiliser ces dernières formules pour le classement final en maintenant le classement déjà obtenu par tes formules nécessaire pour son fonctionnement elles doivent pointer dessus puis utiliser mes formules précédentes pour déterminer tous les tirages au sort les faisant pointer sur ce classement final

Je pense que cela devrait fonctionner

Si besoin je suis là

Merci, ça fonctionne très bien. Je vais me pencher sur cette super formule pour pouvoir éventuellement l’adapter à d’autre projets!
Encore merci et il est fort possible que je vous sollicite car mon projet est loin d’être fini!

Merci pour ce retour
Au plaisir de retrouver une prochaine fois

Bonjour, me revoilà… Je vais encore vous embéter un peu.Je me casse encore les dents sur un classement qui me paraissait simple à faire. Je veux renseigner automatiquement un tableau « classement » par rapport à des données de « Résultat ». Maintenant qu’on à le rang de chaque équipes, je souhaitais dans mon tableau « classement » que celui-ci se trie automatiquement en fonction de se rang. J’ai essayé avec Private Sub Worksheet_Calculate, mais également avec Private Sub Worksheet_Change(ByVal Target As Range) mais il y-a toujours quelque chose qui ne fonctionne pas.

Ci joint le fichier. J’ai effacé mes codes VBA qui ne fonctionnaient pas.
Encore merci de prendre de votre temps pour m’aider.
Saisie résultats (1).xlsm (38,4 Ko)

Bonjour

Je ne sais pas si j’ai bien compris ta demande
Je te propose cette version ci-jointe qui pour toute modification d’une cellule de P7 à AD dernière ligne dans ton fichier AD10 mais modulable en fonction des lignes saisies efface l’intégralité de ce que contient l’onglet « Classement » pour recopier l’intégralité de ces cellules P7 à AD dernière ligne dans cet onglet à partir de B2
Cette recopie ne concerne que les valeurs et format

L’ordre des rangs est celui de l’onglet « Résultats »

Si il doit être modifié dans l’onglet cible un tri peu être rajouté dans le traitement

A toi de me dire

Testes et dis moi

Saisie résultats 3.xlsm (46,2 Ko)

Je viens de faire un essais: si je modifie le score en F7, et que j’y met 5, mon tableau dans « résultats » de « p6:aa11 » se modifie automatiquement. Pourtant mon tableau dans "classement ne se modifie pas.
Pouvez vous m’expliquer : If Target.Row > 5 And Target.Column > 15 And Target.Column < 31 Then?
Etant donné que mes lignes 5 à 12 de « résultats » vont être dupliquées dessous pour chaque groupe (12 groupes), je pense que dans la macro classement il ne faut pas lui demander d’aller chercher la dernière ligne mais bien prendre une plage fixe : (« p6:ad11 »).
Est-ce que l’on peut rajouter les lignes de codes de la macro « tri » à la suite de la macro « classement » (en modifiant les plages) pour que le classement puisse se faire?

On va y arriver!!!

Et oui autant pour moi j’ai conçu une procédure évennementielle avec un évennement qui ne pourra pas se produire celui d’un changement de cellule situé de la ligne 6 à partir de la colonne 16 jusqu’à la colonne 30 ce qui est déterminé par cette ligne de code :

If Target.Row > 5 And Target.Column > 15 And Target.Column < 31 Then

Car si l’une des cellules dans cette zone subit bien une modification elle n’est pas effectuée dans celle-ci mais dans une autre cellule que sa formule cible
Tout est dans cette nuance

L’évènement « Worksheet_Change » agit sur les cellules dont le changement est effectué réellement et non dont celui-ci est la conséquence

Comme la plus part des cellules de cette plage obtiennent leur donnée par formule cette évènement ne peut pas convenir

Je te propose en remplacement cette version qui active le traitement par bouton

Pas d’autre choix

"Est-ce que l’on peut rajouter les lignes de codes de la macro « tri » à la suite de la macro « classement » "

Pas de souci maintenant peut être que le plus simple est d’appeler cette 2° macro en fin du traitement « classement » avec la ligne de code :

Run (« tri »)

« (en modifiant les plages) pour que le classement puisse se faire? »

Là il faut m’en dire plus sur ce que tu souhaites réaliser

La version ci-jointe avec déclenchement par bouton

Testes et dis moi

Saisie résultats 4.xlsm (44,4 Ko)