Sub ArchiveFact()
Dim conn As Object
Dim requete As Object
Dim fact_num As Long
Dim fact_date As Date
Dim cmd_num As String
Dim cmd_date As Date
Dim nom_clt As String
Dim ech_date As Date
Dim tot_HT As Double
Dim texte_SQL As String
Dim classeur As String
Dim fichier As String
Sheets("Facture").Activate
'collecte les infos de la facture
fact_num = Range("A14")
fact_date = Range("A16")
cmd_num = CStr(Range("C16"))
cmd_date = Range("D16")
nom_clt = CStr(Range("F9"))
ech_date = Range("H16")
tot_HT = Range("F43")
'connexion à la base dans fichier archives.xls
classeur = "Archives_test.xls"
fichier = ThisWorkbook.Path & "\" & classeur
Set conn = CreateObject("ADODB.Connection")
conn.Open "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"data source=" & fichier & ";" & _
"extended properties=""Excel 8.0;"""
' travail demandé: insère dans les champs de "Archives_fact" les données collectées
texte_SQL = "INSERT INTO Archives_fact (num_fact,date_fact,num_cmd,date_cmd,nom_clt,tot_HT,ech_date) VALUES ('" & (fact_num) & "','" & (fact_date) & "', '" & (cmd_num) & "','" & (cmd_date) & "','" & (nom_clt) & "','" & (ech_date) & "','" & (tot_HT) & "')"
' éxécute le travail demandé
Set requete = CreateObject("ADODB.recordset")
Set requete = conn.Execute(texte_SQL)
Set requete = Nothing
Set conn = Nothing
MsgBox "archivage de la facture n° " & fact_num & " effectué avec succès"
End Sub