Dim db As Database
Set db = OpenDatabase("C:\Prévention Santé\Documents importants\base.mdb")
Dim Sal As Dynaset
Dim I As Integer
Dim ObjExcel As New Excel.Application
Dim Objworbook As Workbook
Nomtable = "salaries" & InputBox("donner l'identifiant de l'entreprise")
'Creation d'une table d'importation’
SQL = "create table " & Nomtable & "(Titre string, Nom string, Prenom string,Datenais date, Adresse1 string,Adresse2 string, CP integer, Ville string, Site string)"
db.Execute (SQL)
Set Sal = db.OpenRecordset(Nomtable)
With ObjExcel
Set ObjWorkbook = .Workbooks.Open("C:\Prévention Santé\Listes salaries fournies par entreprise" & Nomtable & ".xls")
Set ObjSheet = ObjWorkbook.Worksheets(1)
I = 2
Do While Not .Cells(I, 2) = ""
Sal.AddNew
If .Cells(I, 1) <> "" Then
Sal.Fields("TITRE") = .Cells(I, 1)
Else
Sal.Fields("TITRE") = ""
End If
Sal.Fields("NOM") = .Cells(I, 2)
Sal.Fields("PRENOM") = .Cells(I, 3)
Sal.Fields("DATENAIS") = .Cells(I, 4)
Sal.Fields("ADRESSE1") = .Cells(I, 5)
If .Cells(I, 6) <> "" Then
Sal.Fields("ADRESSE2") = .Cells(I, 6)
Else
Sal.Fields("ADRESSE2") = ""
End If
If .Cells(I, 7) <> "" Then
Sal.Fields("CP") = .Cells(I, 7)
Else
Sal.Fields("CP") = 0
End If
If .Cells(I, 8) <> "" Then
Sal.Fields("VILLE") = .Cells(I, 8)
Else
Sal.Fields("VILLE") = ""
End If
If .Cells(I, 9) <> "" Then
Sal.Fields("SITE") = .Cells(I, 9)
Else
Sal.Fields("SITE") = ""
End If
Sal.Update
I = I + 1
Loop
End With
'On ferme proprement excel'
ObjExcel.Quit
db.Close
MsgBox ("Opération terminée!!!")
End Sub
Ce code fonctionne, mais lorsque j'arrive au 2481 enregistrement l'application se bloque, et plus possible de faire koi que ce soit....
Je n'y comprends rien, alors si qq'un c d'où ça vient, j'aimerais bien le savoir, ça m'enleverai une grosse epine du pied!!!!!!!
cyrolman
Messages postés21Date d'inscriptionlundi 23 septembre 2002StatutMembreDernière intervention29 avril 2003 23 sept. 2002 à 15:20
ça marche po....
g gagné 4 enregistrements, maintenat l'appli se bloque à 2485 enregistrements....
T'aurais pas une autre idée, par hasard?
Faut il que j'utilise une autre méthode pour importer mes données excel ds un base données (qui n'est pas faite sous access, mais sous VB....donc g pas access)?