Lone-wolf
XLDnaute Barbatruc
Bonsoir Le Forum
J'ai adapté ce code de Silkyroads
Comme vous le voyez, il y a 7 colonnes et les champs sont les même dans le classeur de destination; pourtant j'ai ce code erreur. Si quelqu'un pourrait m'éclairer.
J'ai adapté ce code de Silkyroads
VB:
Option Explicit
Public Client As String, Activite As String, Com As String
Public lig As Long, Tot, Dt, Debut, Fin
Sub Enregistrer()
Dim Cn As ADODB.Connection
Dim Fichier As String, Feuille As String, strSQL As String
Fichier = "C:\Users\" & Environ("Username") & "\Desktop\Dossiers clients\Feuille de temps.xls"
lig = Sheets("Data").Cells(Rows.Count, 1).End(xlUp).Row
Feuille = "Feuilles d'activité"
'Les données à insérer:
Call Init_Champ
Set Cn = New ADODB.Connection
With Cn
.Provider = "MSDASQL"
.ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};" & _
"DBQ=" & Fichier & ";ReadOnly=False;HDR=Yes"
.Open
End With
'Les données doivent être indiquées dans le même ordre que les champs dans la base de données.
strSQL = "INSERT INTO [" & Feuille & "$] " _
& "VALUES ('" & Client & "'," & _
"'" & Dt & "'," & "'" & Activite & "'," & _
"'" & Debut & "'," & "'" & Fin & "'," & _
"'" & Tot & "'," & "'" & Com & "'," & _
Fin & ")"
Cn.Execute strSQL
Cn.Close
Set Cn = Nothing
End Sub
Sub Init_Champs()
With Sheets("Data")
Client = .Cells(lig, 1).Value
Dt = .Cells(lig, 2).Value
Activite = .Cells(lig, 3).Value
Debut = .Cells(lig, 4).Value
Fin = .Cells(lig, 5).Value
Tot = .Cells(lig, 6).Value
Com = .Cells(lig, 7).Value
End With
End Sub
Comme vous le voyez, il y a 7 colonnes et les champs sont les même dans le classeur de destination; pourtant j'ai ce code erreur. Si quelqu'un pourrait m'éclairer.