Problème d'exportation de données d'Excel 2007 vers access

soumilo

XLDnaute Nouveau
Bonjour tout le monde, je suis débutant passionné dans programmation et je rencontre pas mal de difficulté, néanmoins j'avance pas à pas. Voilà j'explique mon problème.
Il s'agit de reporter mes données dans une base de données access que j'ai créée à cet effet.
Voici comment la procédure se présente.
1-j'ai créé un userform contenant plusieurs textbox, et en entrant des données dans mes textbox puis en validant par un bouton Valider, les données sont exportées sur la feuille excel créée.
2-C'est maintenant que le problème se pose, je veux également exporter les données dans ma BD Access, toujours avec la même commande Valider. Mais j'ai un message d'erreur. voici les codes:


Code:
Private Sub CommandButton4_Click()


Dim r As Long, i As Long, j As Long, w As Long, derlg As Long

r = Application.WorksheetFunction.CountA(Sheets(43).Range("A:A"))



'---------- REPORT DANS LA FEUILLE 43 DES DONNEES DU USERFORM 83 ---------------

Sheets(43).Cells(r + 1, 1) = TextBox6.Value 'NOM DU CAISSIER
Sheets(43).Cells(r + 1, 2) = TextBox10.Value 'NOM DU DEPOSANT
Sheets(43).Cells(r + 1, 3) = TextBox13.Value 'N° TELEPHONE
Sheets(43).Cells(r + 1, 4) = TextBox11.Value 'TITULAIRE DU COMPTE
Sheets(43).Cells(r + 1, 5) = TextBox14.Value  'N°COMPTE
Sheets(43).Cells(r + 1, 6) = TextBox16.Value 'MONTANT VERSE
Sheets(43).Cells(r + 1, 7) = TextBox9.Value 'DATE D'ENREGISTREMENT DE L'OPERATION
Sheets(43).Cells(r + 1, 8) = TextBox18.Value 'DATE DE VALEUR


'------------ REPORT DES DONNEES DE LA FEUILLE 43 VERS LA BASE DE DONNEES ACCESS -------------------

Dim Cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim Cible As Variant


Set Cn = New ADODB.Connection
Cn.Open "Provider = Microsoft.Jet.OLEDB.4.0;" & "Data source=C:\GMAA\BDVERS.mdb;"
Cible = "SELECT * FROM [BORDEREAUX DE VERSEMENT];"

Set rs = New ADODB.Recordset

rs.Open Cible, Cn, adOpenKeyset, adLockOptimistic

'pour utilisation avec UserForm
With rs

.AddNew

For j = 1 To 8

rs.Fields(j - 1) = Sheets(43).Cells(r + 1, j).Value ' c'est au niveau de cette ligne que le programme s'arrête

Next j

.Update

End With
rs.Close
Cn.Close
Set Cn = Nothing

end sub
 
Dernière édition:

Discussions similaires

Réponses
28
Affichages
925