1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| Private Sub Commande0_Click()
Dim oApp As Excel.Application
Dim oWkb As Excel.Workbook
Dim oWSht As Excel.Worksheet
Set oApp = CreateObject("excel.application")
Set oWkb = oApp.Workbooks.Open("NOM DE TON FICHIER EXCEL")
Set oWSht = oWkb.Worksheets("NOM DE TA FEUILLE")
'première ligne ou tu commence ton import
i = 2
'pour éviter les messages lors de l'ajout des enregistrements
DoCmd.SetWarnings False
'tant que la cellule n'est pas vide
While oWSht.Range("B" & i).Value <> ""
cSQL = "insert into [NOM TABLE] ( [Nom Champs]) values (" & Chr(34) & oWSht.Cells(i, 7) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 8) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 10) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 11) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 14) & Chr(34) & ")"
'La fonction chr(34) est une fonction VBA qui renvoie un caractère en fonction du code ASCII. ici 34. Chr(34) nous renvoie un guillemet.
' Utile au cas où une cellule serai vide et ainsi importer une chaine vide "". sinon ca générerait une violation SQL.
'exécute la requète
DoCmd.RunSQL cSQL
i = i + 1
Wend
DoCmd.SetWarnings True
End Sub |
Partager