Message d'erreur macro vba

Marion1857

XLDnaute Nouveau
Pourquoi lorsque j'excute ma macro un message d'erreur s'affiche.
Le message d'erreur étant le suivant Erreur d'exécution '3024' : Erreur définie par l'application ou l'objet
Sub WritingWorksheetData_DAO()

Dim Plage As Range

Dim Array1 As Variant

Dim x As Variant

Dim Db1 As Database

Dim Rs1 As Recordset

' 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("Client") = Array1(x, 1)

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

.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
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Message d'erreur macro vba

Bonjour Marion, bonjour le forum,

J'ai collé ton code dans un fichier vierge et ça plante d'entrée pour
:
Code:
Dim Db1 As database
Dim Rs1 As Recordset
avec le même message Type défini par l'utilisateur non défini. J'avoue que je navet jamais vu ce genre de déclaration...
Ensuite, ce qui serait bien, c'est :
• soit d'indiquer la ligne qui plante (parmi tout ce long code) (glop)
• soit de fournir le fichier qui va bien (glop, glop) pour qu'on puisse faire tourner le code sans avoir à recréer tout son environnement...

Ce qui serait sympa aussi c'est que tu utilises les balises de codes (#) en passant par le mode avancé pour éditer tes messages.

 

Statistiques des forums

Discussions
312 400
Messages
2 088 089
Membres
103 712
dernier inscrit
Charles authentique