Sub Intégration()
Dim Dateintégrat° As Date, Entête, tb, NbLgn As Long, i As Long, j As Integer, lgn As Long
Dateintégrat° = DateSerial(Year(Date), Month(Date), 1) 'Date du début du mois courant
Entête = [tb_facturation[#Headers]] 'Entête du tableau structuré tb_facturation
tb = [tb_facturation] 'Données du tableau tb_facturation
'Nbre de lignes du tableau résultat (nbre de valeurs différentes de 0 dans la plage des km)
NbLgn = WorksheetFunction.CountIf([tb_facturation[[0-2 km]:[35-40 km]]], ">0")
ReDim Tbres(1 To NbLgn, 1 To 8) 'Dimensionnement du tableau résultat
lgn = 0
For i = 1 To UBound(tb) 'Boucle sur les lignes du tableau de facturation
For j = 7 To 43 'Boucle sur les différents kilométrages
If tb(i, j) <> 0 Then
lgn = lgn + 1
Tbres(lgn, 1) = tb(i, 1)
Tbres(lgn, 2) = tb(i, 5)
Tbres(lgn, 3) = "A2A"
Tbres(lgn, 4) = Dateintégrat°
Tbres(lgn, 5) = "Livraisons effectuées " & Entête(1, j)
Tbres(lgn, 6) = "Balances_lines"
Tbres(lgn, 7) = tb(i, j)
Tbres(lgn, 8) = tb(i, j + 37)
End If
Next
Next i
With sh_intégrat°
.Cells(2, 1).Resize(.Rows.Count - 1, .Columns.Count).ClearContents 'Nettoyage des anciennes lignes
.Cells(2, 1).Resize(NbLgn, 8).Value = Tbres 'Collage de l'ensemble des résultats dans le tableau Intégrat°
End With
End Sub