Gestion kilométrage

Bonjour

ce code fonctionne bien mais parfois il décone je veux gérer les kilométrage de mes véhicule

je veux que chaque véhicule prend le dernier kilométrages retour comme début

Private Sub Worksheet_Change(ByVal Target As Range)

Dim wsVeh As Worksheet

Dim wsLoc As Worksheet

Dim mat As String

Dim lastKm As Variant

Dim ligne As Long

Set wsVeh = ThisWorkbook.Sheets("Vehicule") ' feuille Vehicule

Set wsLoc = Me ' feuille Location

' Vérifie si la modif est dans la colonne A (Mat)

If Not Intersect(Target, wsLoc.Range("A3:A1000")) Is Nothing Then

Application.EnableEvents = False

For Each cell In Target

If cell.Value <> "" Then

ligne = cell.Row

' Vérifie si Km départ est vide avant d'écrire

If wsLoc.Cells(ligne, "H").Value = "" Then

' Cherche le dernier Km retour de ce véhicule

lastKm = Application.Max(wsLoc.Range("I3:I" & ligne - 1).Cells _

.Parent.Evaluate("IF(A3:A" & ligne - 1 & "=""" & cell.Value & """,I3:I" & ligne - 1 & ")"))

If IsNumeric(lastKm) And lastKm > 0 Then

wsLoc.Cells(ligne, "H").Value = lastKm

Else

' Sinon prend le Km début de la feuille Vehicule

On Error Resume Next

wsLoc.Cells(ligne, "H").Value = Application.WorksheetFunction.VLookup(cell.Value, wsVeh.Range("A:C"), 3, False)

On Error GoTo 0

End If

End If

End If

Next cell

Application.EnableEvents = True

End If

End Sub

Merci

Bonsoir

Déjà savoir dans quelle feuille se trouve le code. La feuille Location je suppose ?

Sinon sans voir le fichier ou un modèle sans données confidentielle ... , pas simple de vous donner un avis

Cordialement

Bonjour

Rappel de la chartre: on ne pose pas la même question sur 2 sites....

A+ François

Bonjour

10gestin-lvb.xlsm (275.56 Ko)

re,

on n'a pas besoin de VBA pour savoir ce kilométrage, une formule suffit

=SIERREUR(AGREGAT(14;6;Tableau134[Km R]/(Tableau134[MAT]=[@MAT]);1);"??")

reste le problème des 2 sites

Ok Merci je vais voir

FFFFFFFORT je vous remerciés beaucoup

Rechercher des sujets similaires à "gestion kilometrage"