Selon critères : Trouver une différence, Recupérer la dernière valeur, et l'ajouter

fnony

XLDnaute Occasionnel
Bonjour a tous

Après recherches et de nombreux test, je n'arrive a rien d'autre qu'a formuler correctement ma demande.
en espérant que : "Ce qui se conçoit bien s'énonce clairement" comme disait l'autre (Boileau)

A partir d'un tableau mis a jour mensuellement, je souhaite :

- Calculer une distance entre début et fin de mois (dernière valeur (KM) du mois - dernière valeur (KM) mois d'avant) : [Distance]
- Faire le cumul du mois par rapport a 3 critères (date(mois), produit(gazole), immatriculation) : [Cumul Volume]

J'ai essayé via un TCD, Via un peu de VBA, J'ai repris une formule de Cisco mais je n'arrive pas à l'adapter ...

J'ai mis dans le tableau joint un exemple de ce que je souhaiterais réaliser...un onglet DATA et un onglet Souhaits.

Merci beaucoup pour vos retours éclairés,

A très bientôt
François
 

Pièces jointes

  • testkm.xlsx
    133.4 KB · Affichages: 38
  • testkm.xlsx
    133.4 KB · Affichages: 46
  • testkm.xlsx
    133.4 KB · Affichages: 45
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Selon critères : Trouver une différence, Recupérer la dernière valeur, et l'ajou

Bonjour.

Essayez de reformuler ce que vous voudriez dans le récapitulatif que vous souhaitez.
Par exemple:
Pour chaque Produit :
- Faut-il une ligne de début pour ce produit ?
- Pour chaque Immatric :
- - Faut-il une ligne de début pour ce produit et cette immatriculation ?
- - Pour chaque Date
- - - Y-a-t-il une ligne à produire pour chaque date de ce produit et cette immatriculation ?
- - Voulez vous des lignes de total ?

Car j'ai une fonction GroupOrg qui vous mettrait tout en collections organisées qui vous permettraient de l'écrire pratiquement comme ça, par des For Each Produit In, vous déchargeant de tout souci de recherches ou contrôles de ruptures de séquences.
 

fnony

XLDnaute Occasionnel
Re : Selon critères : Trouver une différence, Recupérer la dernière valeur, et l'ajou

Bonjour Dranreb

Merci de me répondre. J'ai modifié ma demande pour être plus clair, mais je reformule car je ne connais pas la fonction GroupBy.
Je post aussi un nouveau fichier
L'idée est d'avoir dans les 2 dernière Colonnes de mon tableau [Distance ] et [CumulVolume] les informations suivantes:
- Pour Chaque Immatriculation
- Pour Chaque mois
- Sur la même ligne que la dernière date [DatePrise]

1) Dans la colonne [Distance] : ( calculer => ou Produit = 'Gazole': (première valeur Kilomètre [datePrise]- dernière valeur [datePrise] du mois précedent)
- ex: 28/08[Date Prise] et KM= 100 et 02/09[Date Prise] KM = 150 [Distance] = 50

2) Dans la colonne [CumulVolume] : (Somme des Volumes="Gazole")

J'espère avoir été suffisamment clair, sinon merci de me redire pour plus d'explication.

Merci beaucoup de votre aide.
 

Pièces jointes

  • testkm.xlsx
    133.4 KB · Affichages: 35
  • testkm.xlsx
    133.4 KB · Affichages: 40
  • testkm.xlsx
    133.4 KB · Affichages: 38

Dranreb

XLDnaute Barbatruc
Re : Selon critères : Trouver une différence, Recupérer la dernière valeur, et l'ajou

Je cale sur
- Sur la même ligne que la dernière date [DatePrise]
Vous voulez donc d'autres lignes que la dernière dans votre récapitulatif ? Tout le détail peut être ? Ce n'est plus vraiment un récapitulatif alors ?
Peut être suffirait-il de copier tout le tableau, le classer par Immatriculation et date, puis mettre des formules assez proches des vôtres uniquement aux lignes où le mois change ?
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Selon critères : Trouver une différence, Recupérer la dernière valeur, et l'ajou

Un essais avec ce que j'ai compris.
Je n'ai guère eu besoin des modules de service, finalement, mais je les laisse, car ils pourront sûrement un jour vous servir à sortir autre chose.
 

Pièces jointes

  • FiltreFnony.xls
    542.5 KB · Affichages: 57

fnony

XLDnaute Occasionnel
Re : Selon critères : Trouver une différence, Recupérer la dernière valeur, et l'ajou

Bonsoir Et merci de votre réponse

Pour la dernière ligne ... C'est de ma faute .. je parle de la cellule Cumul volume correspondant a la [dernièreprise] du mois.
Pour la distance : en fait c'est de récuperer la première valeur Kilomètre [datePrise] du mois - dernière valeur [datePrise] du mois précedent)
Pour le reste, en fait il manque un critère lié a l'immat et a la date car j'ai plein d'immat et de date (onglet Données) .

Je vais voir si en triant par immatriculation ça marche... mais je vais avoir d'autre contraintes après..
merci de votre aide
Bon Week end
françois
 

Dranreb

XLDnaute Barbatruc
Re : Selon critères : Trouver une différence, Recupérer la dernière valeur, et l'ajou

Pour la distance : en fait c'est de récuperer la première valeur Kilomètre [datePrise] du mois - dernière valeur [datePrise] du mois précedent)
Hmmm… Bizarre… n'allez vous pas rater ainsi la distance ajoutée par la 1ère du mois ? C'est normal n'est-ce pas que ce ne soit pas la même chose que pour calculer la somme des pleins du mois. Enfin j'espère que vous comprenez le fonctionnement de la macro, et que vous saurez la corriger un tant soit peu selon vos vrais besoins.
 

fnony

XLDnaute Occasionnel
Re : Selon critères : Trouver une différence, Recupérer la dernière valeur, et l'ajou

Bonjour

C'est Samdi !! Je viens de voir votre réponse. merci de votre retour.
Je ne vois pas comment marche votre macro dans le fichier du dernier post. J'ai tenté de les exécuter et j'ai un message "argument non valide?
Pour vous répondre.... la tout a coup, j'ai un doute.. je revois ça lundi.
bon week end
francois
 

Dranreb

XLDnaute Barbatruc
Re : Selon critères : Trouver une différence, Recupérer la dernière valeur, et l'ajou

Bonjour
Pourquoi avez vous tenté d'exécuter quelque chose ? L'exécution automatique, lors de l'activation de la feuille Essai, de la procédure ExtracFiltre de Module1, avec cette feuille en guise d'argument, ne suffit-elle pas ?
Qu'est-ce que vous ne comprenez pas dans cette procédure ?
 

fnony

XLDnaute Occasionnel
Re : Selon critères : Trouver une différence, Recupérer la dernière valeur, et l'ajou

Bonjour Dranreb

Merci beaucoup de ta réponse. J'ai regardé mais je n'ai pas compris ..
je ne suis pas au bureau ... je te reviens dès que j'ai vu ce que tu as fais.
François
 

fnony

XLDnaute Occasionnel
Re : Selon critères : Trouver une différence, Recupérer la dernière valeur, et l'ajou

Bonjour Dranreb
Je suis une quiche. et je ne comprends pas comment ce que tu as fait fonctionne. Merci de ton temps sur cette question, je vais essayer de comprendre et d'utiliser et d'adapter ton travail . Merci encore.
 

Dranreb

XLDnaute Barbatruc
Re : Selon critères : Trouver une différence, Recupérer la dernière valeur, et l'ajou

Bonjour.

Le module "Feuil3 (Essai)" est équipé d'une procédure Worksheet_Activate qui prend en charge l'évènement d'activation de la feuille "Essai". Elle ne fait qu'invoquer la procédure ExtracFiltre en lui transmettant comme argument en paramètre son propre objet Worksheet Feuil3 représentant la feuille dont l'onglet affiche "Essai" dans Excel.

La ExtracFiltre commence par supprimer toutes les ligne de cette feuille FDest de destination, puis elle y copie les lignes visibles de la plage couverte par le filtre automatique de l'onglet "Donnée" qui est représenté par l'objet Worksheet Feuil1.
Elle en supprime la colonne J qui n'est pas désirée.
Elle se fixe dans une variable Plage la cellule A2 étendue jusqu'à la dernière cellule renseignée de plus qu'une chaîne vide.
Elle y installe quelques formules dans les colonnes G,H,J.
Elle redéfinit Plage comme étant les lignes à partir de la 2 où la colonne H diffère de la ligne suivante (on y a mis préalablement partout la date de fin du mois comprenant la date en D) c'est à dire uniquement les dernières de chaque mois.
On installe les formules appropriées colonnes I,J,K de ces lignes, seulement à partir de la 2ième d'entre elles, car pour la 1ère on n'a pas encore de ligne précédente de leur espèce pour établir ces formules.
 
Dernière édition: