Bonjour,
Je souhaite travailler sur des horaires dans une listview
pour chaque jour de la semaine dans des champs entree ;champs sortie ;champs heures de jour ;champs heures de nuit ;champs total heures de travail ;
J'ai besoin de pouvoir faire des calcules entre les champs comme avec ces trois formules
dans les champs de la listview
heures de jour
=SI(D13=0;"";SI(E13>D13;MAX(0;MIN(E13;DebN)-MAX(D13;FinN));MAX(0;DebN-MAX(D13;FinN))+MAX(0;MIN(E13;DebN)-FinN)))
heures de nuit
=SI(D13=0;"";D14-F13)
total heures de travail
=SI(ESTERREUR(E13-D13);"";(SI(ESTVIDE(D13:E13);" ";MOD(E13-D13;1))))
J'ai fais une tentative d'adition comme ca sans résulta satisfaisant
.ListItems(N).ListSubItems(6).Text = .ListItems(N).ListSubItems(6).Text + .ListItems(N).ListSubItems(8).Text
Voici ce qui charge la listview
Sub Recherche_Infos_Affichage_LVW()
Dim rs As Object
Dim DT1, dt2
Dim PartTxt, Sql, Sql1, N, L, C, d, E, NbF
On Error Resume Next
Set rs = CreateObject("ADODB.recordset")
PartTxt = TextBox1
Sql = "select * from ["XXXXXXX"] where ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%'"
rs.Open Sql, Conn, 3, 3
If Not rs.EOF Then
rs.MoveFirst
NbF = rs.Fields.Count
NbRecord = rs.RecordCount
N = 1
Do While Not rs.EOF
With ListView1
.ListItems.Add , , rs.Fields(0)
For L = 2 To NbF
.ListItems(N).ListSubItems.Add , , rs.Fields(L - 1)
Next L
If .ListItems(N) = TextBox1 Then .ListItems(N).Bold = True
If .ListItems(N).ListSubItems(7).Text = "XXXXXXX" Then
.ListItems(N).Bold = True
.ListItems(N).ForeColor = vbGreen
For C = 1 To .ColumnHeaders.Count - 1
.ListItems(N).ListSubItems(C).Bold = True
.ListItems(N).ListSubItems(C).ForeColor = vbGreen 'couleur colonne 8
Next C
End If
If .ListItems(N).ListSubItems(7).Text = "XXXXXXX" Then
.ListItems(N).Bold = True
.ListItems(N).ForeColor = vbBlue
For d = 1 To .ColumnHeaders.Count - 1
.ListItems(N).ListSubItems(d).Bold = True
.ListItems(N).ListSubItems(d).ForeColor = vbBlue 'couleur colonne 7
Next d
End If
If .ListItems(N).ListSubItems(8).Text = "XXXXXXX" Then
.ListItems(N).Bold = True
.ListItems(N).ForeColor = vbRed
For E = 1 To .ColumnHeaders.Count - 1
.ListItems(N).ListSubItems(E).Bold = True
.ListItems(N).ListSubItems(E).ForeColor = vbRed 'couleur colonne 7
Next E
End If
End With
N = N + 1
rs.MoveNext
Loop
Label2.Caption = NbRecord & " enregistrement(s) !"
Else
MsgBox "Attention: pas d'enregistrement trouvé!!"
End If
rs.Close
Set rs = Nothing
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel__D
Bonjour, Le 13/04/2021 Í 20:04, Gortex a écrit :
Bonjour, Je souhaite travailler sur des horaires dans une listview pour chaque jour de la semaine dans des champs entree ;champs sortie ;champs heures de jour ;champs heures de nuit ;champs total heures de travail ; J'ai besoin de pouvoir faire des calcules entre les champs comme avec ces trois formules dans les champs de la listview heures de jour =SI(D13=0;"";SI(E13>D13;MAX(0;MIN(E13;DebN)-MAX(D13;FinN));MAX(0;DebN-MAX(D13;FinN))+MAX(0;MIN(E13;DebN)-FinN))) heures de nuit =SI(D13=0;"";D14-F13) total heures de travail =SI(ESTERREUR(E13-D13);"";(SI(ESTVIDE(D13:E13);" ";MOD(E13-D13;1)))) J'ai fais une tentative d'adition comme ca sans résulta satisfaisant .ListItems(N).ListSubItems(6).Text = .ListItems(N).ListSubItems(6).Text + .ListItems(N).ListSubItems(8).Text Voici ce qui charge la listview Sub Recherche_Infos_Affichage_LVW() Dim rs As Object Dim DT1, dt2 Dim PartTxt, Sql, Sql1, N, L, C, d, E, NbF On Error Resume Next Set rs = CreateObject("ADODB.recordset") PartTxt = TextBox1 Sql = "select * from ["XXXXXXX"] where ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%'" rs.Open Sql, Conn, 3, 3 If Not rs.EOF Then rs.MoveFirst NbF = rs.Fields.Count NbRecord = rs.RecordCount N = 1 Do While Not rs.EOF With ListView1 .ListItems.Add , , rs.Fields(0) For L = 2 To NbF .ListItems(N).ListSubItems.Add , , rs.Fields(L - 1) Next L If .ListItems(N) = TextBox1 Then .ListItems(N).Bold = True If .ListItems(N).ListSubItems(7).Text = "XXXXXXX" Then .ListItems(N).Bold = True .ListItems(N).ForeColor = vbGreen For C = 1 To .ColumnHeaders.Count - 1 .ListItems(N).ListSubItems(C).Bold = True .ListItems(N).ListSubItems(C).ForeColor = vbGreen 'couleur colonne 8 Next C End If If .ListItems(N).ListSubItems(7).Text = "XXXXXXX" Then .ListItems(N).Bold = True .ListItems(N).ForeColor = vbBlue For d = 1 To .ColumnHeaders.Count - 1 .ListItems(N).ListSubItems(d).Bold = True .ListItems(N).ListSubItems(d).ForeColor = vbBlue 'couleur colonne 7 Next d End If If .ListItems(N).ListSubItems(8).Text = "XXXXXXX" Then .ListItems(N).Bold = True .ListItems(N).ForeColor = vbRed For E = 1 To .ColumnHeaders.Count - 1 .ListItems(N).ListSubItems(E).Bold = True .ListItems(N).ListSubItems(E).ForeColor = vbRed 'couleur colonne 7 Next E End If End With N = N + 1 rs.MoveNext Loop Label2.Caption = NbRecord & " enregistrement(s) !" Else MsgBox "Attention: pas d'enregistrement trouvé!!" End If rs.Close Set rs = Nothing End Sub
Pour faire la chose tu pourrais fournir : 1) Un exemple de ce que te retourne le Recordset 2) un exemple de La valeur de ListView1.ListItems(N).ListSubItems(7).Text et de ListView1.ListItems(N).ListSubItems(8).Text 3) Ce que tu veux faire exactement
Bonjour,
Le 13/04/2021 Í 20:04, Gortex a écrit :
Bonjour,
Je souhaite travailler sur des horaires dans une listview
pour chaque jour de la semaine dans des champs entree ;champs sortie ;champs
heures de jour ;champs heures de nuit ;champs total heures de travail ;
J'ai besoin de pouvoir faire des calcules entre les champs comme avec ces trois
formules
dans les champs de la listview
heures de jour
=SI(D13=0;"";SI(E13>D13;MAX(0;MIN(E13;DebN)-MAX(D13;FinN));MAX(0;DebN-MAX(D13;FinN))+MAX(0;MIN(E13;DebN)-FinN)))
heures de nuit
=SI(D13=0;"";D14-F13)
total heures de travail
=SI(ESTERREUR(E13-D13);"";(SI(ESTVIDE(D13:E13);" ";MOD(E13-D13;1))))
J'ai fais une tentative d'adition comme ca sans résulta satisfaisant
.ListItems(N).ListSubItems(6).Text = .ListItems(N).ListSubItems(6).Text +
.ListItems(N).ListSubItems(8).Text
Voici ce qui charge la listview
Sub Recherche_Infos_Affichage_LVW()
Dim rs As Object
Dim DT1, dt2
Dim PartTxt, Sql, Sql1, N, L, C, d, E, NbF
On Error Resume Next
Set rs = CreateObject("ADODB.recordset")
PartTxt = TextBox1
Sql = "select * from ["XXXXXXX"] where ["XXXXXXX"] like '%" & PartTxt & "%' or
["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or
["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or
["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or
["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or
["XXXXXXX"] like '%" & PartTxt & "%'"
rs.Open Sql, Conn, 3, 3
If Not rs.EOF Then
rs.MoveFirst
NbF = rs.Fields.Count
NbRecord = rs.RecordCount
N = 1
Do While Not rs.EOF
With ListView1
.ListItems.Add , , rs.Fields(0)
For L = 2 To NbF
.ListItems(N).ListSubItems.Add , , rs.Fields(L - 1)
Next L
If .ListItems(N) = TextBox1 Then .ListItems(N).Bold = True
If .ListItems(N).ListSubItems(7).Text = "XXXXXXX" Then
.ListItems(N).Bold = True
.ListItems(N).ForeColor = vbGreen
For C = 1 To .ColumnHeaders.Count - 1
.ListItems(N).ListSubItems(C).Bold = True
.ListItems(N).ListSubItems(C).ForeColor = vbGreen 'couleur colonne 8
Next C
End If
If .ListItems(N).ListSubItems(7).Text = "XXXXXXX" Then
.ListItems(N).Bold = True
.ListItems(N).ForeColor = vbBlue
For d = 1 To .ColumnHeaders.Count - 1
.ListItems(N).ListSubItems(d).Bold = True
.ListItems(N).ListSubItems(d).ForeColor = vbBlue 'couleur colonne 7
Next d
End If
If .ListItems(N).ListSubItems(8).Text = "XXXXXXX" Then
.ListItems(N).Bold = True
.ListItems(N).ForeColor = vbRed
For E = 1 To .ColumnHeaders.Count - 1
.ListItems(N).ListSubItems(E).Bold = True
.ListItems(N).ListSubItems(E).ForeColor = vbRed 'couleur colonne 7
Next E
End If
End With
N = N + 1
rs.MoveNext
Loop
Label2.Caption = NbRecord & " enregistrement(s) !"
Else
MsgBox "Attention: pas d'enregistrement trouvé!!"
End If
rs.Close
Set rs = Nothing
End Sub
Pour faire la chose tu pourrais fournir :
1) Un exemple de ce que te retourne le Recordset
2) un exemple de La valeur de ListView1.ListItems(N).ListSubItems(7).Text
et de ListView1.ListItems(N).ListSubItems(8).Text
Bonjour, Je souhaite travailler sur des horaires dans une listview pour chaque jour de la semaine dans des champs entree ;champs sortie ;champs heures de jour ;champs heures de nuit ;champs total heures de travail ; J'ai besoin de pouvoir faire des calcules entre les champs comme avec ces trois formules dans les champs de la listview heures de jour =SI(D13=0;"";SI(E13>D13;MAX(0;MIN(E13;DebN)-MAX(D13;FinN));MAX(0;DebN-MAX(D13;FinN))+MAX(0;MIN(E13;DebN)-FinN))) heures de nuit =SI(D13=0;"";D14-F13) total heures de travail =SI(ESTERREUR(E13-D13);"";(SI(ESTVIDE(D13:E13);" ";MOD(E13-D13;1)))) J'ai fais une tentative d'adition comme ca sans résulta satisfaisant .ListItems(N).ListSubItems(6).Text = .ListItems(N).ListSubItems(6).Text + .ListItems(N).ListSubItems(8).Text Voici ce qui charge la listview Sub Recherche_Infos_Affichage_LVW() Dim rs As Object Dim DT1, dt2 Dim PartTxt, Sql, Sql1, N, L, C, d, E, NbF On Error Resume Next Set rs = CreateObject("ADODB.recordset") PartTxt = TextBox1 Sql = "select * from ["XXXXXXX"] where ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%'" rs.Open Sql, Conn, 3, 3 If Not rs.EOF Then rs.MoveFirst NbF = rs.Fields.Count NbRecord = rs.RecordCount N = 1 Do While Not rs.EOF With ListView1 .ListItems.Add , , rs.Fields(0) For L = 2 To NbF .ListItems(N).ListSubItems.Add , , rs.Fields(L - 1) Next L If .ListItems(N) = TextBox1 Then .ListItems(N).Bold = True If .ListItems(N).ListSubItems(7).Text = "XXXXXXX" Then .ListItems(N).Bold = True .ListItems(N).ForeColor = vbGreen For C = 1 To .ColumnHeaders.Count - 1 .ListItems(N).ListSubItems(C).Bold = True .ListItems(N).ListSubItems(C).ForeColor = vbGreen 'couleur colonne 8 Next C End If If .ListItems(N).ListSubItems(7).Text = "XXXXXXX" Then .ListItems(N).Bold = True .ListItems(N).ForeColor = vbBlue For d = 1 To .ColumnHeaders.Count - 1 .ListItems(N).ListSubItems(d).Bold = True .ListItems(N).ListSubItems(d).ForeColor = vbBlue 'couleur colonne 7 Next d End If If .ListItems(N).ListSubItems(8).Text = "XXXXXXX" Then .ListItems(N).Bold = True .ListItems(N).ForeColor = vbRed For E = 1 To .ColumnHeaders.Count - 1 .ListItems(N).ListSubItems(E).Bold = True .ListItems(N).ListSubItems(E).ForeColor = vbRed 'couleur colonne 7 Next E End If End With N = N + 1 rs.MoveNext Loop Label2.Caption = NbRecord & " enregistrement(s) !" Else MsgBox "Attention: pas d'enregistrement trouvé!!" End If rs.Close Set rs = Nothing End Sub
Pour faire la chose tu pourrais fournir : 1) Un exemple de ce que te retourne le Recordset 2) un exemple de La valeur de ListView1.ListItems(N).ListSubItems(7).Text et de ListView1.ListItems(N).ListSubItems(8).Text 3) Ce que tu veux faire exactement
gortex
Le mercredi 14 Avril 2021 à 18:47 par Michel__D :
Bonjour, Le 13/04/2021 Í 20:04, Gortex a écrit :
Bonjour, Je souhaite travailler sur des horaires dans une listview pour chaque jour de la semaine dans des champs entree ;champs sortie ;champs heures de jour ;champs heures de nuit ;champs total heures de travail ; J'ai besoin de pouvoir faire des calcules entre les champs comme avec ces trois formules dans les champs de la listview heures de jour =SI(D13=0;"";SI(E13>D13;MAX(0;MIN(E13;DebN)-MAX(D13;FinN));MAX(0;DebN-MAX(D13;FinN))+MAX(0;MIN(E13;DebN)-FinN))) heures de nuit =SI(D13=0;"";D14-F13) total heures de travail =SI(ESTERREUR(E13-D13);"";(SI(ESTVIDE(D13:E13);" ";MOD(E13-D13;1)))) J'ai fais une tentative d'adition comme ca sans résulta satisfaisant .ListItems(N).ListSubItems(6).Text = .ListItems(N).ListSubItems(6).Text + .ListItems(N).ListSubItems(8).Text Voici ce qui charge la listview Sub Recherche_Infos_Affichage_LVW() Dim rs As Object Dim DT1, dt2 Dim PartTxt, Sql, Sql1, N, L, C, d, E, NbF On Error Resume Next Set rs = CreateObject("ADODB.recordset") PartTxt = TextBox1 Sql = "select * from ["XXXXXXX"] where ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%'" rs.Open Sql, Conn, 3, 3 If Not rs.EOF Then rs.MoveFirst NbF = rs.Fields.Count NbRecord = rs.RecordCount N = 1 Do While Not rs.EOF With ListView1 .ListItems.Add , , rs.Fields(0) For L = 2 To NbF .ListItems(N).ListSubItems.Add , , rs.Fields(L - 1) Next L If .ListItems(N) = TextBox1 Then .ListItems(N).Bold = True If .ListItems(N).ListSubItems(7).Text = "XXXXXXX" Then .ListItems(N).Bold = True .ListItems(N).ForeColor = vbGreen For C = 1 To .ColumnHeaders.Count - 1 .ListItems(N).ListSubItems(C).Bold = True .ListItems(N).ListSubItems(C).ForeColor = vbGreen 'couleur colonne 8 Next C End If If .ListItems(N).ListSubItems(7).Text = "XXXXXXX" Then .ListItems(N).Bold = True .ListItems(N).ForeColor = vbBlue For d = 1 To .ColumnHeaders.Count - 1 .ListItems(N).ListSubItems(d).Bold = True .ListItems(N).ListSubItems(d).ForeColor = vbBlue 'couleur colonne 7 Next d End If If .ListItems(N).ListSubItems(8).Text = "XXXXXXX" Then .ListItems(N).Bold = True .ListItems(N).ForeColor = vbRed For E = 1 To .ColumnHeaders.Count - 1 .ListItems(N).ListSubItems(E).Bold = True .ListItems(N).ListSubItems(E).ForeColor = vbRed 'couleur colonne 7 Next E End If End With N = N + 1 rs.MoveNext Loop Label2.Caption = NbRecord & " enregistrement(s) !" Else MsgBox "Attention: pas d'enregistrement trouvé!!" End If rs.Close Set rs = Nothing End Sub
Pour faire la chose tu pourrais fournir : 1) Un exemple de ce que te retourne le Recordset 2) un exemple de La valeur de ListView1.ListItems(N).ListSubItems(7).Text et de ListView1.ListItems(N).ListSubItems(8).Text 3) Ce que tu veux faire exactement
Bonjour (1) ID Date entrée sortie total J jour nuit 1 ven-01-janv 20:00 03:00 00:00 00h00 00h00 (2) ListView1.ListItems(N).ListSubItems(7).Text = 20:00 ListView1.ListItems(N).ListSubItems(8).Text = 03:00 (3) ID Date entrée sortie total J jour nuit 1 ven-01-janv 20:00 03:00 07:00 1h00 6h00 Début heurs de nuit = 21h00 Fin heurs de nuit = 6h00
Le mercredi 14 Avril 2021 à 18:47 par Michel__D :
> Bonjour,
>
> Le 13/04/2021 Í 20:04, Gortex a écrit :
>> Bonjour,
>> Je souhaite travailler sur des horaires dans une listview
>> pour chaque jour de la semaine dans des champs entree ;champs sortie ;champs
>> heures de jour ;champs heures de nuit ;champs total heures de travail ;
>> J'ai besoin de pouvoir faire des calcules entre les champs comme avec ces
>> trois
>> formules
>> dans les champs de la listview
>>
>> heures de jour
>> =SI(D13=0;"";SI(E13>D13;MAX(0;MIN(E13;DebN)-MAX(D13;FinN));MAX(0;DebN-MAX(D13;FinN))+MAX(0;MIN(E13;DebN)-FinN)))
>>
>> heures de nuit
>> =SI(D13=0;"";D14-F13)
>>
>> total heures de travail
>> =SI(ESTERREUR(E13-D13);"";(SI(ESTVIDE(D13:E13);"
>> ";MOD(E13-D13;1))))
>>
>> J'ai fais une tentative d'adition comme ca sans résulta satisfaisant
>> .ListItems(N).ListSubItems(6).Text = .ListItems(N).ListSubItems(6).Text +
>> .ListItems(N).ListSubItems(8).Text
>>
>> Voici ce qui charge la listview
>> Sub Recherche_Infos_Affichage_LVW()
>> Dim rs As Object
>> Dim DT1, dt2
>> Dim PartTxt, Sql, Sql1, N, L, C, d, E, NbF
>> On Error Resume Next
>> Set rs = CreateObject("ADODB.recordset")
>> PartTxt = TextBox1
>>
>> Sql = "select * from ["XXXXXXX"] where ["XXXXXXX"]
>> like '%" & PartTxt & "%' or
>> ["XXXXXXX"] like '%" & PartTxt & "%' or
>> ["XXXXXXX"] like '%" & PartTxt & "%' or
>> ["XXXXXXX"] like '%" & PartTxt & "%' or
>> ["XXXXXXX"] like '%" & PartTxt & "%' or
>> ["XXXXXXX"] like '%" & PartTxt & "%' or
>> ["XXXXXXX"] like '%" & PartTxt & "%' or
>> ["XXXXXXX"] like '%" & PartTxt & "%' or
>> ["XXXXXXX"] like '%" & PartTxt & "%' or
>> ["XXXXXXX"] like '%" & PartTxt & "%'"
>> rs.Open Sql, Conn, 3, 3
>> If Not rs.EOF Then
>> rs.MoveFirst
>> NbF = rs.Fields.Count
>> NbRecord = rs.RecordCount
>> N = 1
>> Do While Not rs.EOF
>> With ListView1
>> .ListItems.Add , , rs.Fields(0)
>> For L = 2 To NbF
>>
>> .ListItems(N).ListSubItems.Add , , rs.Fields(L - 1)
>> Next L
>> If .ListItems(N) = TextBox1 Then .ListItems(N).Bold = True
>> If .ListItems(N).ListSubItems(7).Text = "XXXXXXX" Then
>> .ListItems(N).Bold = True
>> .ListItems(N).ForeColor = vbGreen
>> For C = 1 To .ColumnHeaders.Count - 1
>> .ListItems(N).ListSubItems(C).Bold = True
>> .ListItems(N).ListSubItems(C).ForeColor = vbGreen 'couleur colonne 8
>> Next C
>> End If
>>
>> If .ListItems(N).ListSubItems(7).Text = "XXXXXXX" Then
>> .ListItems(N).Bold = True
>> .ListItems(N).ForeColor = vbBlue
>> For d = 1 To .ColumnHeaders.Count - 1
>> .ListItems(N).ListSubItems(d).Bold = True
>> .ListItems(N).ListSubItems(d).ForeColor = vbBlue 'couleur colonne 7
>> Next d
>> End If
>>
>> If .ListItems(N).ListSubItems(8).Text = "XXXXXXX" Then
>> .ListItems(N).Bold = True
>> .ListItems(N).ForeColor = vbRed
>> For E = 1 To .ColumnHeaders.Count - 1
>> .ListItems(N).ListSubItems(E).Bold = True
>> .ListItems(N).ListSubItems(E).ForeColor = vbRed 'couleur colonne 7
>> Next E
>> End If
>> End With
>> N = N + 1
>> rs.MoveNext
>> Loop
>> Label2.Caption = NbRecord & " enregistrement(s) !"
>> Else
>> MsgBox "Attention: pas d'enregistrement trouvé!!"
>> End If
>> rs.Close
>> Set rs = Nothing
>>
>> End Sub
>>
>>
> Pour faire la chose tu pourrais fournir :
> 1) Un exemple de ce que te retourne le Recordset
>
> 2) un exemple de La valeur de ListView1.ListItems(N).ListSubItems(7).Text
> et de ListView1.ListItems(N).ListSubItems(8).Text
>
> 3) Ce que tu veux faire exactement
Bonjour
(1)
ID Date entrée sortie total J jour nuit
1 ven-01-janv 20:00 03:00 00:00 00h00 00h00
(2)
ListView1.ListItems(N).ListSubItems(7).Text = 20:00
ListView1.ListItems(N).ListSubItems(8).Text = 03:00
(3)
ID Date entrée sortie total J jour nuit
1 ven-01-janv 20:00 03:00 07:00 1h00 6h00
Début heurs de nuit = 21h00
Fin heurs de nuit = 6h00
Bonjour, Je souhaite travailler sur des horaires dans une listview pour chaque jour de la semaine dans des champs entree ;champs sortie ;champs heures de jour ;champs heures de nuit ;champs total heures de travail ; J'ai besoin de pouvoir faire des calcules entre les champs comme avec ces trois formules dans les champs de la listview heures de jour =SI(D13=0;"";SI(E13>D13;MAX(0;MIN(E13;DebN)-MAX(D13;FinN));MAX(0;DebN-MAX(D13;FinN))+MAX(0;MIN(E13;DebN)-FinN))) heures de nuit =SI(D13=0;"";D14-F13) total heures de travail =SI(ESTERREUR(E13-D13);"";(SI(ESTVIDE(D13:E13);" ";MOD(E13-D13;1)))) J'ai fais une tentative d'adition comme ca sans résulta satisfaisant .ListItems(N).ListSubItems(6).Text = .ListItems(N).ListSubItems(6).Text + .ListItems(N).ListSubItems(8).Text Voici ce qui charge la listview Sub Recherche_Infos_Affichage_LVW() Dim rs As Object Dim DT1, dt2 Dim PartTxt, Sql, Sql1, N, L, C, d, E, NbF On Error Resume Next Set rs = CreateObject("ADODB.recordset") PartTxt = TextBox1 Sql = "select * from ["XXXXXXX"] where ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%' or ["XXXXXXX"] like '%" & PartTxt & "%'" rs.Open Sql, Conn, 3, 3 If Not rs.EOF Then rs.MoveFirst NbF = rs.Fields.Count NbRecord = rs.RecordCount N = 1 Do While Not rs.EOF With ListView1 .ListItems.Add , , rs.Fields(0) For L = 2 To NbF .ListItems(N).ListSubItems.Add , , rs.Fields(L - 1) Next L If .ListItems(N) = TextBox1 Then .ListItems(N).Bold = True If .ListItems(N).ListSubItems(7).Text = "XXXXXXX" Then .ListItems(N).Bold = True .ListItems(N).ForeColor = vbGreen For C = 1 To .ColumnHeaders.Count - 1 .ListItems(N).ListSubItems(C).Bold = True .ListItems(N).ListSubItems(C).ForeColor = vbGreen 'couleur colonne 8 Next C End If If .ListItems(N).ListSubItems(7).Text = "XXXXXXX" Then .ListItems(N).Bold = True .ListItems(N).ForeColor = vbBlue For d = 1 To .ColumnHeaders.Count - 1 .ListItems(N).ListSubItems(d).Bold = True .ListItems(N).ListSubItems(d).ForeColor = vbBlue 'couleur colonne 7 Next d End If If .ListItems(N).ListSubItems(8).Text = "XXXXXXX" Then .ListItems(N).Bold = True .ListItems(N).ForeColor = vbRed For E = 1 To .ColumnHeaders.Count - 1 .ListItems(N).ListSubItems(E).Bold = True .ListItems(N).ListSubItems(E).ForeColor = vbRed 'couleur colonne 7 Next E End If End With N = N + 1 rs.MoveNext Loop Label2.Caption = NbRecord & " enregistrement(s) !" Else MsgBox "Attention: pas d'enregistrement trouvé!!" End If rs.Close Set rs = Nothing End Sub
Pour faire la chose tu pourrais fournir : 1) Un exemple de ce que te retourne le Recordset 2) un exemple de La valeur de ListView1.ListItems(N).ListSubItems(7).Text et de ListView1.ListItems(N).ListSubItems(8).Text 3) Ce que tu veux faire exactement
Bonjour (1) ID Date entrée sortie total J jour nuit 1 ven-01-janv 20:00 03:00 00:00 00h00 00h00 (2) ListView1.ListItems(N).ListSubItems(7).Text = 20:00 ListView1.ListItems(N).ListSubItems(8).Text = 03:00 (3) ID Date entrée sortie total J jour nuit 1 ven-01-janv 20:00 03:00 07:00 1h00 6h00 Début heurs de nuit = 21h00 Fin heurs de nuit = 6h00