Bonjour,

J'ai une base de donnée avec NOM, PRENOM, FONCTION, ENGIN DATE_DEBUT et DATE_FIN (format jj/mm/aaaa hh:mm:ss)
J'ai réalisé une connexion ADO avec une requête qui recherche la somme du volume d'heure en fonction des critères fonction et engin :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Sub sbADO() 'Requêtes avec critères fonction et engins
Dim sSQLQry As String
Dim ReturnArray
 
Dim Conn As New ADODB.Connection
Dim mrs As New ADODB.Recordset
 
Dim DBPath As String, sconnect As String
Dim fct As String, Engin As String
fct = Range("L8").Text
Engin = Range("M8").Text
 
efface
DBPath = ThisWorkbook.FullName
 
 
sconnect = "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & DBPath & ";HDR=Yes';"
 
Conn.Open sconnect
   sSQLSting = "SELECT GRADE,NOM,PRENOM,SUM(DATE_FIN-DATE_DEBUT) AS Total_H From [Data$] WHERE FONCTION = '" & fct & "' AND ENGIN = '" & Engin & "' GROUP BY GRADE,NOM,PRENOM  ORDER BY GRADE,NOM,PRENOM "
 
    mrs.Open sSQLSting, Conn
 
        ActiveSheet.Range("B10").CopyFromRecordset mrs
 
    mrs.Close
 
 
Conn.Close
 
Call classement.classement
End Sub
Dans le regroupement, je voudrais ajouté dans une dernière colonne la différence entre la date de fin et la date début ( résultat en heures), pour chaque nom et pour chaque date distinctes.
Ainsi si j'ai 30 heures dans Total_H pour une fonction et un engin, je voudrais connaitre le nombre d'heure pour chaque date distinctes.
Exemple :
Ligne sur la feuille Data :
DUPOND Véhicule1 conducteur 25/01/2015 8:00 25/01/2015 20:00
DUPOND véhicule1 conducteur 26/01/2015 8:00 26/01/2015 20:00
DUPOND véhicule2 passager 27/02/2015 8:00 27/02/2015 20:00
DUPOND Véhicule3 passager 27/02/2015 8:00 27/02/2015 20:00

Si je recherche Véhicule1 et conducteur en critère j'obtiens 24 heures pour DUPOND
Je souhaiterais une colonne qui m'indique que DUPOND à fait 24 h/36h de véhicule1 et conducteur.
Merci pour votre aide