XL 2019 ? petite.valeur avec condition "ma formule ne fonctionne pas ! Pourquoi ?"

Patchinette

XLDnaute Nouveau
Bonjour à tous et toutes,

Dans le cadre d'une création d'un tableau concernant un planning de transports, J'aimerai ramener les heures d'une BDD, dans un planning, que ces heures soient extraites de façon chronologique, et avec une condition liée à l'utilisation d'un véhicule plutôt que l'autre. En regardant ce qui se fait sur le forum j'ai essayé d'adapter ma formule : =PETITE.VALEUR(SI((BDD!$E$3:$E$100=$B$7);BDD!$F$3:$F$100);1), mais le résultat renvoyé est 00:00:00, quand je vérifie la formule dans le vérificateur de formule, les données sont bien prisent en compte (il me semble). Je ne comprends pas d'où vient mon erreur !
Ma formule est sur la feuille "TRANSPORT" en colonne F (colorée bleu). Je pense qu'il sera très facile pour l'un d'entre vous de comprendre ce que je souhaite réaliser. Je vous joins mon fichier pour plus de compréhension.
Je vous remercie d'avance,
Très Cordialement,
Patchinette
 

Pièces jointes

  • TEST TRANSPORT 2.xlsx
    40.2 KB · Affichages: 21
Solution
Ah mais non le fichier (2) ne va plus le lundi soir quand on met JUMPY en B7.

Comme souvent quand on travaille sur des heures il faut utiliser la fonction ARRONDI.

Voyez ce fichier (3) avec cette formule matricielle en E8 :
Code:
=SIERREUR(INDEX(BDD!C$3:C$100;EQUIV(F8;ARRONDI(BDD!F$3:F$100+LIGNE(BDD!F$3:F$100)/"1E9";9);0));"")
Et cette formule matricielle en F8 :
Code:
=SIERREUR(PETITE.VALEUR(SI((_TRANSPORTS_AM=$B$7)*(BDD!F$3:F$100<>"");ARRONDI(BDD!F$3:F$100+LIGNE(BDD!F$3:F$100)/"1E9";9));LIGNE()-7);"")
L'arrondi sur les heures se fait avec 9 décimales, désolé c'est compliqué !

job75

XLDnaute Barbatruc
Bonsoir Patchinette,

Dans la feuille TRANSPORTS formule matricielle en F8 :
Code:
=SIERREUR(PETITE.VALEUR(SI((BDD!E$3:E$100=B$7)*(BDD!F$3:F$100<>"");BDD!F$3:F$100);LIGNE()-7);"")
à valider par Ctrl+Maj+Entrée et tirer vers le bas.

A+
 

Pièces jointes

  • TEST TRANSPORT(1).xlsx
    40.2 KB · Affichages: 6

Patchinette

XLDnaute Nouveau
Merci beaucoup Job75, c'est formidable ! Ca fonctionne nickel ! Je n'aurai jamais trouver toute seule ! C'est cool, je vais pouvoir continuer. Encore un grand merci, c'est vraiment appréciable de trouver de l'aide, et de pouvoir ainsi progresser !
Très bonne soirée à toi.
 

Patchinette

XLDnaute Nouveau
Bonsoir Job75, je reviens vers toi, car je ne m'en sors pas. Je pensais pouvoir extraire les NOMS de la BDD, grâce à une formule INDEX EQUIV. La formule fonctionne quand en B7 (transport), est positionné sur JUMPY, mais que je positionne B7 en position "Berlingo" pour peu qu'il y ait 2 hrs identiques dans la même colonne d'un des jours, les noms ne sont pas renvoyés correctement.
Je ne trouve pas la solution. J'espère que tu pourras m'aider. Je n'utilise sans doute pas la bonne formule ! J'espère que tu pourras m'aider. Merci d'avance.
Bonne soirée
 

Pièces jointes

  • TEST TRANSPORT 3.xlsx
    43.1 KB · Affichages: 5

job75

XLDnaute Barbatruc
Bonsoir Patchinette,

Oui il faut distinguer les heures égales en complétant avec +LIGNE(XXX)/"1E9", voyez ce fichier (2).

Formule matricielle en E8 :
Code:
=SIERREUR(INDEX(BDD!C$3:C$100;EQUIV(F8;BDD!F$3:F$100+LIGNE(BDD!F$3:F$100)/"1E9";0));"")
Formule matricielle corrigée en F8 :
Code:
=SIERREUR(PETITE.VALEUR(SI((_TRANSPORTS_AM=$B$7)*(BDD!F$3:F$100<>"");BDD!F$3:F$100+LIGNE(BDD!F$3:F$100)/"1E9");LIGNE()-7);"")
Mais j'ai vu que vous ne validez pas correctement les formules matricielles.

En E8 il faut sélectionner la seule cellule E8, entrer la formule dans la barre de formule et valider par Ctrl+Maj+Entrée.

Ensuite tirer la formule vers le bas.

A+
 

Pièces jointes

  • TEST TRANSPORT(2).xlsx
    41.6 KB · Affichages: 3

Patchinette

XLDnaute Nouveau
Bonsoir
Je vous remercie pour cette réponse super rapide que j'étudierai demain, car ça dépasse de loin mes compétences. Je vous remercie l'astuce pour la formule matricielle et sa validation. Effectivement je sélectionnais toute la colonne et il me semblait faire CRTL+Maj+Entrée. Mais j'avoue que à part en suivant des tutos je n'en ai jamais fait. Donc merci pour le conseil je retiens.
Merci beaucoup. Je vous envie vos compétences !
Bonne soirée
 

job75

XLDnaute Barbatruc
Ah mais non le fichier (2) ne va plus le lundi soir quand on met JUMPY en B7.

Comme souvent quand on travaille sur des heures il faut utiliser la fonction ARRONDI.

Voyez ce fichier (3) avec cette formule matricielle en E8 :
Code:
=SIERREUR(INDEX(BDD!C$3:C$100;EQUIV(F8;ARRONDI(BDD!F$3:F$100+LIGNE(BDD!F$3:F$100)/"1E9";9);0));"")
Et cette formule matricielle en F8 :
Code:
=SIERREUR(PETITE.VALEUR(SI((_TRANSPORTS_AM=$B$7)*(BDD!F$3:F$100<>"");ARRONDI(BDD!F$3:F$100+LIGNE(BDD!F$3:F$100)/"1E9";9));LIGNE()-7);"")
L'arrondi sur les heures se fait avec 9 décimales, désolé c'est compliqué !
 

Pièces jointes

  • TEST TRANSPORT(3).xlsx
    41.8 KB · Affichages: 7

Patchinette

XLDnaute Nouveau
Bonsoir,
Vos formules fonctionnent parfaitement sur tout le tableau (super!). Je ne comprends pas la fin de la formule :
+LIGNE(BDD!F$3:F$100)/"1E9";9)

, notamment qu'est-ce que représentent le 1E9.
J'ai aussi essayé de remplacer les plages sous forme C3:C100 par des plages nommées, ça n'a pas l'air de fonctionner, est-ce normal ou est-ce que c'est moi qui m'y prends mal ?
J'espère que vous aurez le temps de me répondre mais je ne voudrais pas être trop exigeante non plus alors si vous n'avez pas le temps ou l'envie de m'expliquer ça n'est pas grave. Vous m'avez super aider, en fait non vous avez fait tout le travail ! Je vais pouvoir continuer mon application, je devrais être en mesure de continuer seule.
Je vous souhaite le meilleur, portez vous bien et encore merci beaucoup.
Cordialement,
Patchinette
 

job75

XLDnaute Barbatruc
"1E9" c'est le nombre 1 000 000 000 en notation scientifique, sous forme de texte.

+LIGNE(XXX)/"1E9" ajoute un nombre très petit et unique pour chaque ligne.

ARRONDI(YYY;9) arrondit YYY à la 9ème décimale, les décimales au-delà sont donc supprimées.

Nommer les plages est toujours possible mais pas forcément utile.
 

Discussions similaires

Réponses
6
Affichages
687

Statistiques des forums

Discussions
312 086
Messages
2 085 197
Membres
102 814
dernier inscrit
JLGalley