Extraire une valeur selon sa dernière occurrence

Bonjour,

Une pompe à carburant utilisée par plusieurs collaborateurs me donne un fichier Excel reprenant par ligne le passage à la pompe d'un véhicule. J'ai donc les infos suivantes par colonnes:

A : Date
B : Kilométrage véhicule
C : Plaque Véhicule (Identifiant)
D : Litre enlevés

E : A trouver : Quantité de litre enlevé lors du passage précédent du
même véhicule

F : A trouver : kilométrage enregistré lors du passage précédent du
même véhicule

G : Consommation moyenne/passage soit : ((E)/(B)-(F))*100

J'aimerais, donc dans la colonne E, tirer une formule pour identifier pour chaque ligne, la quantité de litre retiré lors du passage précédent pour le même véhicule. Le même genre de formule avec le kilométrage me permettrait ainsi de compléter le calcul de consommation moyenne par passage.

Remarque : C'est rare, mais un véhicule peut faire deux fois le plein sur une même journée.

C'est ma première intervention sur la plateforme, merci d'être indulgent et n'hésitez pas à me demander plus de précisions si nécessaire :-)

D'avance merci pour votre aide,

Vincent

20test-conso.xlsx (16.05 Ko)

Bonjour à toutes et tous, Vincent,

Bienvenu sur le forum.

Je ne me suis pas occupé de la colonne "G" qui est une simple opération.

A tester pour ls colonnes "E & F"

7test-conso-v1.xlsx (19.61 Ko)

Cordialement.

Salut,

Dans le fichier ci-joint, j'ai placé une macro qui effectue normalement ce que tu souhaites sur les colonnes E et F. Pour la colonne G, tu devrais t'en sortir.

Il faut tout d'abord inscrire en colonne E un texte quelconque si c'est la première fois que ce véhicule apparait. Puis la macro fait le reste.

Amicalement.

10test-conso-v1.xlsm (25.95 Ko)

Bonjour,

Edit boujour Yvouille

une proposition. Cependant, si je comprends bien tu souhaites calculer la moyenne au 100 sur base des informations du dernier plein et le nombre de kilomètres parcourus.

donc pour moi les calculs sont les suivants :

consommation sur la période = nombre de litres ajoutés lors du dernier plein

kilomètres parcourus sur la période= différence entre le compteur au dernier plein et le compteur au pénultième plein.

pour la période : (consommation/kilomètres parcourus)*100

6test-conso.xlsx (25.38 Ko)

Problème résolu grâce à vous tous !

Je préfèrerai la solution Macro moins risquée en fausse manip de l'utilisateur.

Merci Beaucoup pour votre aide et votre réactivité !

Prenez soins de vous !

Vincent

Hello,

Autre proposition :

Sub calcul_essence()

Dim varArrDataDay As Variant
Dim i As Long, y As Long
Dim strplaque As String
Dim sinLitre As Single, sinKm As Single, sinMoy As Single

varArrDataDay = Sheets("DATA").Range("A1").CurrentRegion

'Caclcul Colonne E,F,G
For i = UBound(varArrDataDay, 1) To LBound(varArrDataDay, 1) + 1 Step -1
    strplaque = varArrDataDay(i, 3)
    y = i - 1
    Do Until varArrDataDay(y, 3) = strplaque
        If y = LBound(varArrDataDay, 1) Then Exit Do
        y = y - 1
    Loop
    If Not y = LBound(varArrDataDay, 1) Then
        sinLitre = varArrDataDay(y, 4)
        sinKm = varArrDataDay(y, 2)
        varArrDataDay(i, 5) = sinLitre
        varArrDataDay(i, 6) = sinKm
        On Error Resume Next
        sinMoy = (sinLitre / (varArrDataDay(i, 2) - sinKm)) * 100
        If Err > 0 Then sinMoy = 0
        On Error GoTo 0
        varArrDataDay(i, 7) = sinMoy
    End If
Next i
Sheets("DATA").Range("A1").Resize(UBound(varArrDataDay, 1), UBound(varArrDataDay, 2)) = varArrDataDay
End Sub
Rechercher des sujets similaires à "extraire valeur derniere occurrence"