Bonjour tout le monde !
Je suis débutant en VBA, Access, et je m’y connais un peu en excel. Donc forcément, quand je veux relier les trois, ça ne peut pas aller tout seul !
En fait, j’essaie d’alimenter une table access à partir d’information contenu dans une feuille excel. La table est déjà créée et la feuille excel aussi, il ne me manque que la procédure qui fait le lien entre les deux. Voila le code que j’utilise actuellement :
Sub RecupérationDonnées()
'Ouverture du fichier excel
Dim xlApp As Object
Set xlApp = CreateObject(“Excel.Application”)
xlApp.Visible = False
nomfichier = xlApp.GetOpenFilename
xlApp.Workbooks.Open (nomfichier)
’ Déclaration de la table
Dim Rs As Recordset
’ Déclaration du champ permettant de remplir la base de données
Dim DateHeureCommande As String
’ Renseignement des variables
DateHeureCommande = Cells(6, 3)
'on ouvre la table “OuvertureFiche” pour la renseigner
Set Rs = CurrentDb.OpenRecordset("OuvertureFiche", dbOpenDynaset)
Rs.AddNew
Rs.Fields("DateHeureCommande") = DateHeureCommande
Rs.Update
Rs.Close
’ Fermeture du fichier excel
xlApp.Workbooks.Close
Excel.Application.Quit
End Sub
Avec ce code, j’arrive à faire le transfert entre une feuille excel et la table. Le seul soucis, c’est que quand j’essaie de faire ce même transfert avec une deuxième feuille sans réinitialiser le tout (avec le petit bouton stop du debugger VBA), j’obtient une erreure 1004 “la méthode cells de l’objet _global a échoué”.
Je pense donc qu’il faut que j’arrive à initialiser mes variables en début de procédure mais je ne sais pas comment faire. Est ce que quelqu’un aurait une solution à mon problème ?
Merci d’avance !