Private Sub DnaBalance()
'importation de la balance des comptes à dna via fichier comptes.dbf et lign.dbf
Application.ScreenUpdating = False
Dim Cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim Chemin As String, Cible As String, comptes As String, lign As String, DATEDEB As String, DATEFIN As String
Dim Fld As ADODB.Field
Dim i As Integer
If ComboBox1.ListIndex = -1 Then Exit Sub
Chemin = "C:\evolution\" & ComboBox1.List(ComboBox1.ListIndex, 1)
comptes = "comptes.dbf"
lign = "lign.dbf"
DATEDEB = CStr(Format(Worksheets("EVOL").Range("B3"), "yyyy-mm-dd"))
DATEFIN = CStr(Format(Worksheets("EVOL").Range("B4"), "yyyy-mm-dd"))
'efface la feuille dna
Sheets("ListeDna").Select
Range("a24:e84").Select
Selection.ClearContents
Set Cn = New ADODB.Connection
Cn.Open _
"Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=" & _
Chemin & ";"
Cible = "SELECT comptes.NATU, comptes.COMP,comptes.INTI, comptes.DNA, sum(lign.DEBI-lign.CRED)AS MONTANT " & " FROM lign, comptes where comptes.COMP=lign.NUMC and ((lign.DECR>={d '" & DATEDEB & "'} And lign.DECR<={d '" & DATEFIN & "'})) and comptes.NATU <>'' GROUP BY comptes.COMP, comptes.INTI, comptes.NATU, comptes.DNA ORDER BY comptes.NATU, comptes.COMP"
Set Rs = New ADODB.Recordset
With Rs
.ActiveConnection = Cn
.Open Cible, , adOpenStatic, adLockOptimistic, adCmdText
End With
Do While Not Rs.EOF
Sheets("ListeDna").Range("a24").CopyFromRecordset Rs
Loop
'trie les dna en fonction de la liste personnalisée suivant la déclaration fiscale
Sheets("ListeDna").Select
Range("a24:e84").Select
ActiveWindow.SmallScroll Down:=-12
Selection.Sort Key1:=Range("a24"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=11, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers
Sheets("DNA").Select
Range("A1").Select
Rs.Close
Cn.Close
Application.ScreenUpdating = True
End Sub