Bonjour Matsniper,
Content que cela convienne.
Comme tu commences à le savoir, dans Excel il y a souvent plusieurs solutions.
Je te joins ci dessous une altenative :
https://www.cjoint.com/c/HAukgjlgjMj
Cela répond déjà en partie à tes questions.
La grande différence qu'il y a entre MIN / MAX et PETITE.VALEUR / GRANDE.VALEUR est que dans la première alternative on cherche toujours soit la plus petite, soit la plus grande des valeurs dans une plage alors que dans la deuxième alternative, il y a un paramètre supplémentaire qui détermine la "k" valeur que l'on désire obtenir (la première plus petite ou la deuxième ou la troisième...)
Dans le cas de la dernière date, il n'y a pas de problème pour utiliser l'une ou l'autre des fonctions puisque nous cherchons la plus grande des valeurs
Par contre, et ceci répondra à ta deuxième question sur le fait que la formule ne fonctionne pas, dans le cas de la plus petite valeur, nous sommes devant un souci : la formule matricielle projette une plage virtuelle qui contient toutes les dates ensuite elle teste si dans l'autre plage nous trouvons le nom du véhicule recherché (tu remarqueras que les 2 plages doivent impérativement avoir les mêmes dimensions). La réponse est une plage qui contient FAUX ou VRAI en fonction que le nom n'est pas ou est le bon nom. Dans Excel FAUX=0 et VRAI=1. La combinaison des 2 plages (la multiplication de la plage 1 avec la plage 2 donne une nouvelle plage qui contiendra les dates correspondantes au véhicule recherché (*1) et 0 pour les autres véhicules (*0)). Donc nous obtenons, pour la recherche de la plus petite des valeurs, une plage contenant quelques dates et beaucoup de 0.
Si tu demandes la MIN valeur et bien Excel ne peut te répondre que 0 ce qui est normal mais ne nous aide pas.
Par contre, avec PETITE.VALEUR, il y a moyen, en compliquant un peu la formule, de demander la "k" plus petite valeur. Comment trouver cela : nous devons calculer le nombre 0 afin de les neutraliser. Pour cela on compte le nombre des autres véhicules dans la plage et on ajoute 1 pour trouver la "K" plus petite valeur.
=PETITE.VALEUR(($D$10:$D$62)*($C$10:$C$62=$G10);NB.SI($C$10:$C$62;"<>"&$G10)+1)
Dans ton essai, tu as demandés la première plus petite valeur et donc tu as obtenu 0 et comme la cellule est formatée en "date" cela donne 00/01/1900
Comme c'était un peu plus compliqué, j'ai opté pour un autre système qui marche aussi bien mais avec un inconvénient c'est qu'il faut impérativement que les dates soient triées par ordre croissant. J'ai supposé que dans ton application, c'était logique d'être par ordre croissant. Toutefois, si tu penses que tu sera amené à ne pas respecter cet ordre, il vaut mieux utiliser la deuxième proposition qui, elle, marche toujours.
Je t'invite pour matérialiser ma réponse de te positionner dans une des cellules de la plage et, sous l'onglet "Formules", cliquer sur "Evaluation formule". Tu verra apparaître un petit tableau qui te montre l'évolution de la formule au fur et à mesure de son exécution (en cliquant sur "Evaluer").
Le tableau est petit et il faut manipuler l'"ascenseur" pour voir comment l'évolution se produit.
Cet outil est très pratique pour chercher les erreurs dans une formule compliquée.
Voilà j'espère avoir été complet et surtout clair. Si toutefois cela reste confus, n'hésites pas à me revenir
Bon courage
Chris