qu'est ce qui cloche ???

Le
Rémi
Bonjour,
je reviens à la charge avec mes histoires d'échanges de données entre excel
et access
j'ai trouvé ce code sur http://ericrenaud.free.fr/droitedao.htm#Sub4 dont
par ailleurs je remercie l'auteur, mais il y a deux erreurs que je ne sais
résoudre
Quelqu'un pourrait il m'aider svp ?

--
Sub WritingWorksheetData_DAO()

Dim Plage As Range

Dim Array1 As Variant

Dim x As Variant

Dim Db1 As Database> erreur de compilation : type défini par
l'utilisateur non défini

Dim Rs1 As Recordset> erreur de compilation : type défini par
l'utilisateur non défini

' Ouverture de la base de données Commandes.mdb

Set Db1 = DBEngine.OpenDatabase(ThisWorkbook.Path & "Commandes.mdb" )

' Ouverture de la table Factures

' Un objet Recordset représente les enregistrements d'une table

Set Rs1 = Db1.OpenRecordset( "Factures" , dbOpenDynaset)

' Détermination de la taille de la plage à envoyer vers Access

Set Plage = Worksheets( "DAOSheet" ).Range(
"A1" ).CurrentRegion.Offset( 1 , 0 )

Set Plage = Plage.Resize(Plage.Rows.Count - 1 , Plage.Columns.Count)

Plage.Select

' Lecture de la plage pour renvoyer une valeur contenant un tableau

Array1 = Plage.Value

' Ecriture des données depuis Excel vers les enregistrement de la table
Factures

For x = 1 To UBound (Array1, 1 )

With Rs1

.AddNew

.Fields( "NoFacture" ) = Array1(x, 1 )

.Fields( "Client" ) = Array1(x, 2 )

.Fields( "Date" ) = Array1(x, 3 )

.Fields( "Solde" ) = Array1(x, 4 )

.Update

End With

Next

' Fermeture de la base Commandes.mdb

Db1.Close

' Effacement des données copiées vers la base (sauf les titres)

With Selection.CurrentRegion

Intersect(.Cells, .Offset( 1 )).Select

End With

Selection.ClearContents

End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FdeCourt
Le #21011331
Salut,

Dans VBE, sous Outils > References, il faut que tu coches "Microsoft
DAO 3.6 Object Library" dans la liste

Cordialement,

F.
Publicité
Poster une réponse
Anonyme