Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Calcul dans tableau structuré filtré

David_Lemarechal

XLDnaute Nouveau
Bonjour à tous,

ce forum me rend bien des services quand je suis bloqué dans mes développements, mais là j'avoue, je ne trouve pas d'indices.

Je cherche à créer un un suivi de consommation de carburant d'une flotte de véhicules d'entreprise.
Mon ami créait une feuille par véhicule et y renseignait chaque plein et en déduisait la consommation de carburant (entre chaque plein et une moyenne globale)
Aujourd'hui son parc est de plus en plus gros et le nombre de feuilles se multiplie. Ca devient lourd...

Au niveau de leur pompe à essence, chaque employé relève le nombre de litre, le véhicule, le kilométrage et autres renseignements, le tout, les uns après les autres.
Au lieu de faire le tri manuellement par mon ami, je lui ai proposé de renseigner une table avec les valeurs telles que les notent les employés, et ensuite à Excel de faire le tri.

Mon tri se passe bien, avec un tableau structuré et par la sélection du véhicule par un segment.

Le problème réside dans le calcul de la consommation de carburant : Volume / (km actuel - km précédent), car le tableau change dès que nous changeons de véhicule.

J'ai tenté un filtre par macro, mais elle ne fonctionne pas non plus.

Qui aurait la bonne idée ???

Merci d'avance pour votre aide.

David
 

Pièces jointes

  • SuiviVehicules.xlsm
    298.1 KB · Affichages: 24
Solution
Bonjour,

Si je m'en tiens à la demande du post#1 :
e problème réside dans le calcul de la consommation de carburant : Volume / (km actuel - km précédent), car le tableau change dès que nous changeons de véhicule.
La fonction suivante dans la colonne "Compte intemed." le calcule bien même avec les filtres en cours, grâce à la fonction Agregat créee pour ce genre de chose.
=SIERREUR([@Compteur]-AGREGAT(14;3;[Compteur]/([Date]<[@Date])/([Véhicule]=[@Véhicule]);1);0)

J'utilise Si.Erreur(...;0) avec un format personnalisé cachant les 0 car la colonne est une colonne de valeurs numériques et non textuelles et des "" n'ont rien à y faire et peuvent ultérieurement induire des erreurs.

Il vous serait très certainement utile...

David_Lemarechal

XLDnaute Nouveau
J'y étaits presque avec les DECALER, mais je n'ai pas pensé au SI au sujet des véhicules.
Toutefois, cette solution fonctionne bien dès lors que la saisie des pleins est déjà triée par véhicule, mais tu imagines bien, que très vite, les noms des véhicules vont se mélanger, comme pour le véhicule "FORD".
Avec ta formule, la ligne 85 n'est pas calculée quand on filtre les données avec le Segment FORD.

Autrement dit, si on insère une ligne en plein milieu d'une saisie continue d'un autre véhicule, il y aura des lignes non calculées
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Si je m'en tiens à la demande du post#1 :
e problème réside dans le calcul de la consommation de carburant : Volume / (km actuel - km précédent), car le tableau change dès que nous changeons de véhicule.
La fonction suivante dans la colonne "Compte intemed." le calcule bien même avec les filtres en cours, grâce à la fonction Agregat créee pour ce genre de chose.
=SIERREUR([@Compteur]-AGREGAT(14;3;[Compteur]/([Date]<[@Date])/([Véhicule]=[@Véhicule]);1);0)

J'utilise Si.Erreur(...;0) avec un format personnalisé cachant les 0 car la colonne est une colonne de valeurs numériques et non textuelles et des "" n'ont rien à y faire et peuvent ultérieurement induire des erreurs.

Il vous serait très certainement utile d'apprendre à utiliser Power query (inclus dans excel 2016) pour manipuler vos données.

Cordialement
 

Pièces jointes

  • SuiviVehicules.xlsm
    297.9 KB · Affichages: 18
Dernière édition:

David_Lemarechal

XLDnaute Nouveau
eureka, c'est parfait. J'avais essayé d'utiliser cette nouvelle fonction qu'est pour moi le AGREGAT, mais je pense que je l'utilisait mal.
Merci encore pour vos aides à tous.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…