recherche d'une valeur max selon un critère

Onigiri

XLDnaute Nouveau
Bonjour à tous.
Au boulot on doit saisir tous les soirs les kms de la journée d'une vingtaine de véhicules qui pour certains font plusieurs trajets par jour (ça fait un paquet de saisie à faire et c'est vite lourd croyez-moi).
Entre autres infos y'a le n° d'immatriculation (liste déroulante) le kilométrage de départ, le kilométrage d'arrivée.
Or le kilométrage de départ du trajet N correspond vous vous en doutez bien au kilométrage d'arrivée du trajet N-1.
Je souhaiterai construire une formule donc pour que s'inscrive automatiquement le kilométrage de départ en fonction de l'immatriculation saisie.
Se posent donc plusieurs problèmes :
- c'est pas une feuille par bagnole (sinon la question se poserait même pas je saurai faire) mais une feuille par mois
- la même immatriculation revient donc une paire de fois
- pas de tri par ordre croissant donc fonction recherchev() impossible

En gros j'aimerais que quand je rentre une immatriculation, il me mouline un truc genre un tableau temporaire (une matrice ???) [qu'il garde ça dans sa petite mémoire car c'est inutile de le coller quelque part vu que je veux un et un seul résultat dans une cellule] avec toutes les occurences de cette immatriculation avec les différents kilométrages d'arrivée. Qu'il trie ensuite ce tableau dans l'ordre croissant (décroissant sinon je m'en fout) des kilométrages d'arrivée, et qu'il me renvoie le kilométrage d'arrivée de la dernière ligne (ou de la première si tri décroissant) pour le coller dans le kilométrage de départ de la ligne que je suis en train d'écrire.
Comme quoi voyez le raisonnement je l'ai mais c'est les formules que je ne connais pas suffisamment pour savoir lesquelles associer.

Ca serait possible ça ?

Ben oui parce que j'en ai un peu ma claque de tout retaper sous prétexte que "ah ben on fait comme ça depuis des années" (sous entendu avant mon arrivée parce que j'ai bien l'intention de changer ça si c'est faisable).

Merci d'avoir pris le temps de lire et pour les réponses si y'en a.
 
Dernière édition:

vgendron

XLDnaute Barbatruc
Re : recherche d'une valeur max selon un critère

salut Onigri..
ca va mieux la? ;-))
bon.. pour t'aider.. on demande pas mieux, ca nous amuse en général..
par contre, on va quand meme te demander un minimum.. à savoir.. un fichier exemple qui nous donnerait une idée assez précise de comment tu vois l'organisation de tes données, ce que tu veux que ca fasse ou et quand.. et pour le comment.. on va te guider
 

Onigiri

XLDnaute Nouveau
Re : recherche d'une valeur max selon un critère

Bonjour.
J'ai eu bien du mal à retrouver mon propre fil de discussion lol.
Y'a pas mal d'activité sur ce forum, c'est bien ça bouge.
Donc voici le fichier en question (des infos modifiées mais sans importance, juste pour la confidentialité).
En ce qui concerne le "ce que tu veux que ca fasse ou et quand..", tout est dans le premier message, en espérant que je me sois exprimé de manière compréhensible (clair dans ma tête mais pas forcément par écrit).
 

Pièces jointes

  • Classeur1.xls
    136 KB · Affichages: 111
  • Classeur1.xls
    136 KB · Affichages: 119
  • Classeur1.xls
    136 KB · Affichages: 120
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : recherche d'une valeur max selon un critère

Bonjour

Tu dois pouvoir faire, en I249, avec
Code:
INDEX(J$1:J248;MAX(SI(C$2:C248=C249;LIGNE(C$2:C248))))
à valider avec Ctrl+maj+entrer, car il s'agit d'une formule matricielle. Tu peux bien sût tirer cette formule vers le haut et vers le bas.

@ plus
 

Onigiri

XLDnaute Nouveau
Re : recherche d'une valeur max selon un critère

Merci pour cette réponse rapide.
Ca à l'air de coller en fait (au début ça me donnait des résultats folklo mais en refaisant ça va mieux).
Je vais tester et décrypter.
Merci encore.

Ca marche bien mais ... (y'a souvent un mais n'est-ce pas).

Si je veux chercher dans J$2:J249 au lieu de J$1:J249 (début de la formule) pour éviter le résultat "km arrivée" dans la première ligne sans immatriculation, il me donne un résultat qui n'est plus le bon ... pourquoi ça ?

Y'a-t-il une solution pour faire la même chose en début de mois ? En début de mois donc je n'ai encore rien saisi, mais y'a le mois précédent (feuille précédente) (sauf si on est en début d'année où la les infos sont dans le classeur de l'année d'avant ... mais ne compliquons pas les choses lol).
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : recherche d'une valeur max selon un critère

Bonjour

Une possibilité en pièce jointe. A toi de voir si cela te convient. J'ai écrit une formule en considérant que la feuille précédente, novembre, comporte des données jusqu'à la ligne 1700.

On doit encore pouvoir améliorer l'ergonomie de ce fichier. Par exemple, dans la formule actuelle, sur le feuille décembre, il faut écrire le nom de la feuille précédente, ici, novembre. Cela doit être possible de faire trouver automatiquement à Excel ce nom. Cf. une méthode proposée par J. Boisgontier là :
https://www.excel-downloads.com/threads/reference-cellule-feuille-precedente.190233/

Ainsi, tu aurais la même formule sur toutes les feuilles d'une année, sauf peut-être janvier. Est-ce que cela t'intéresse ?

On doit aussi pouvoir rechercher automatiquement le nombre de lignes de la feuille précédente...?

@ plus
 

Pièces jointes

  • Classeur1 Onogiri.xls
    226.5 KB · Affichages: 94
  • Classeur1 Onogiri.xls
    226.5 KB · Affichages: 104
  • Classeur1 Onogiri.xls
    226.5 KB · Affichages: 118
Dernière édition:

Onigiri

XLDnaute Nouveau
Re : recherche d'une valeur max selon un critère

Ça fonctionne impec.
J'ai regardé pour ne pas mettre en dur le nom de la feuille.
C'est une très bonne idée mais ça va me faire une formule d'environ 100 mètres de long dans ma cellule.
J'y connais pas grand chose en vba, mais je pense que je vais m'y atteler et faire une fonction qui prendrait en paramètre l'immatriculation et me renverrait mon kilométrage.
Au final il sera plus simple d'avoir dans la cellule km(C249) plutôt que 3 lignes de code.
Je vais me faire ça.
Merci pour vos réponses en tout cas.
 

CISCO

XLDnaute Barbatruc
Re : recherche d'une valeur max selon un critère

Bonjour

C'est certain, qu'en VBA, cela serait plus sympa, mais ça, je ne sais pas faire...

Pour ce qui est de la longueur des formules, tu peux toujours remplacer certaines parties de celles-ci par des noms, ou mettre certaines données dans des cellules à part.

@ plus.
 

Pièces jointes

  • Classeur1 Onogiri.xls
    226.5 KB · Affichages: 80
  • Classeur1 Onogiri.xls
    226.5 KB · Affichages: 90
  • Classeur1 Onogiri.xls
    226.5 KB · Affichages: 98
Dernière édition:

Onigiri

XLDnaute Nouveau
Re : recherche d'une valeur max selon un critère

Bonjour et Joyeux Noël.

Bon pour le vba ça s'improvise pas donc c'est pas pour tout de suite (j'avance mais vraiment doucement).
Par contre je me pose une question.

la formule NBVAL me permettrait de récupérer le nb de lignes de la feuille précedente (en me basant par exemple sur la colonne A).

Et effectivemment
Code:
=NBVAL(novembre!A:A)
me renvoie bien un résultat cohérent (16)

Maintenant, et toujours dans l'esprit de ne pas coder en dur le nom de la feuille précédente, le bout de code suivant que tu m'as donné :
Code:
=TEXTE(DATEVAL("01/"&STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;99))-1;"mmmm")
me renvoie bien le nom de la feuille précédente (ici novembre car la feuille active est décembre).

L'idée est donc d'associer les deux mais je n'y arrive pas et je me demande bien pourquoi ...

Code:
=NBVAL(TEXTE(DATEVAL("01/"&STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;99))-1;"mmmm")!A:A)
me pop une fenêtre de dialogue comme quoi ma formule contient une erreur ... certes mais laquelle ???
J'ai bien essayé de mettre ' ou " ou () supplémentaires mais il ne veut rien savoir. Je reste perplexe.
Une question de type sans doute mais une valeur de type texte peut elle être convertie en type feuille ? (si ce type existe)
 

CISCO

XLDnaute Barbatruc
Re : recherche d'une valeur max selon un critère

Bonsoir

J'ai eu le même message d'erreur que toi lors de mes précédents essais. J'ai contourné le problème en mettant la formule donnant le nom de la feuille précédente à part, à droite. Cf. la pièce-jointe dans mon précédent post.

@ plus
 

Onigiri

XLDnaute Nouveau
Re : recherche d'une valeur max selon un critère

Oui je suis parti de ta pièce jointe.
Et j'ai essayé d'utiliser NBVAL en plus pour avoir le nombre de lignes mais pas moyen.
Ceci dit c'est un détail car en collant un nombres de lignes qui ne sera jamais atteint, ça marche très bien également.
Reste que le mystère demeure.
Je vais laisser ta formule d'origine, elle me renvoie ce que je voulais.
Merci encore.
 

Statistiques des forums

Discussions
312 330
Messages
2 087 342
Membres
103 524
dernier inscrit
Smile1813