Private Sub CBcarbu_Click()
Dim dlt As Long, L As Long
Dim Ind As Integer, TabCel() As String
Dim Sht As Worksheet
' Définir la feuille de travail
Set Sht = ThisWorkbook.Sheets("Mvt Carbu")
'
If Sht.Range("F7") < Sht.Range("H7") Then
MsgBox ("Compteur incorrect !!!")
Sht.Range("F7") = "": Sht.Range("F7").Select
Exit Sub
End If
' controle si il y a toutes les informations
TabCel = Split("D4,D5,F4,F6,F7,H4", ",")
For Ind = 0 To UBound(TabCel)
If Sht.Range(TabCel(Ind)).Value = "" Then
MsgBox "il manque l'information en : " & TabCel(Ind), vbCritical, "OUPS..."
Sht.Range(TabCel(Ind)).Select
Exit Sub
End If
Next Ind
' Vérifier si c'est un doublon
dlt = Sht.Range("B" & Rows.Count).End(xlUp).Row
For L = 11 To dlt
' Si la date correspond
If DateValue(Sht.Range("B" & L)) = DateValue(Sht.Range("D4")) Then
' Si le véhicule correspond
If Sht.Range("C" & L) = Sht.Range("D5") Then
' Si le conducteur correspond
If Sht.Range("F" & L) = Sht.Range("F4") Then
' Si le compteur correspond
If Sht.Range("I" & L) = Sht.Range("F7") Then
' Si le litrage correspond
If Sht.Range("J" & L) = Sht.Range("H4") Then
' Alors il s'agit d'un doublon
MsgBox "Ces données ont déjà été enregistrées !", vbCritical, "OUPS..."
Exit Sub
End If
End If
End If
End If
End If
Next L
' Tout est ok, demander
If MsgBox("Vous allez effectuer l'enregistrement de " & Sht.Range("H4").Value & " Litres de " & Sht.Range("D7"), vbYesNo) = vbNo Then
Exit Sub
End If
' Réponse oui
'Connection enregistrer dans histo
With Sheets("Histo")
L = .Range("A" & Rows.Count).End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
.Range("A" & L).Value = Now
' .Range("B" & L).Value = Sheets("Accueil").Range("D12")
' .Range("C" & L).Value = Sheets("Accueil").Range("E12")
.Range("D" & L).Value = "Mvt carburant " & Sht.Range("F6") & " (" & Sht.Range("H4") & "Lt)"
L = L + 1
End With
If Sht.Range("B11") <> "" Then
Sht.ListObjects(1).ListRows.Add.Range(1, 1).Value = CDate(Range("D4").Value) 'Now()
Else
Sht.Range("B11") = CDate(Range("D4").Value) 'Now()
End If
'ajouter les informations dans le tableau
dlt = Sht.Range("B" & Rows.Count).End(xlUp).Row
Sht.Range("B" & dlt) = Format(Range("D4"), "dd/mm/yyyy")
Sht.Range("B" & dlt).NumberFormat = "dd/mm/yyyy"
Sht.Range("C" & dlt) = Range("D5")
Sht.Range("D" & dlt) = Range("D6")
Sht.Range("E" & dlt) = Range("D7")
Sht.Range("F" & dlt) = Range("F4")
Sht.Range("G" & dlt) = Range("F5")
Sht.Range("H" & dlt) = Range("F6")
Sht.Range("I" & dlt) = Range("F7")
Sht.Range("J" & dlt) = Range("H4")
Sht.Range("K" & dlt) = Range("H5")
'préparation pour une nouvelle entrée
Reset
ActiveWorkbook.Save 'enregistrement fichier
' Effacer les variables objet
Set Sht = Nothing
End Sub