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 :
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.
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
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
Partager