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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
Dim oApp As Excel.Application
Dim oWkb As Excel.Workbook
Dim oWSht As Excel.Worksheet
Dim i As Long, strTrc As String
Dim db As DAO.Database, rsDest As DAO.Recordset
Dim fDlg As Office.FileDialog, strFichier As String
' --------------------------
' Selection du fichier Excel
' --------------------------
Set fDlg = Application.FileDialog(msoFileDialogOpen)
' Définition du ou des filtres
fDlg.Filters.Clear
fDlg.Filters.Add "Fichier Excel", "*.xl*;*.ods"
' Dossier de départ
fDlg.InitialFileName = CurrentProject.Path & "\GROUPES"
' Type d'affichage
fDlg.InitialView = msoFileDialogViewList
If fDlg.Show Then
strFichier = fDlg.SelectedItems(1)
'Extraction du nom du fichier à copier.
strFichier = Mid(fDlg.SelectedItems(1), InStrRev(fDlg.SelectedItems(1), "\"))
'Chargement de l'image (sous dossier base).
Me.FICHIER_GROUPE = strFichier
End If
Set fDlg = Nothing
' Si l'utilisateur a cliqué sur Annuler quitter la procédure
If Len(strFichier) = 0 Then Exit Sub
Set oApp = CreateObject("excel.application")
Set oWkb = oApp.Workbooks.Open(CurrentProject.Path & "\GROUPES" & Me.FICHIER_GROUPE)
Set oWSht = oWkb.Worksheets("Sheet1")
'premier ligne ou tu commence ton import
i = 3
'pour éviter les messages lors de l'ajout des enregistrements
DoCmd.SetWarnings False
'tant que la cellule n'est pas vide
While oWSht.Cells(i, 1).Value <> ""
cSQL = "insert into [T_IMPORT_TEMP] ( [N°], [CIVILITE], [NOM], [NOM JEUNE FILLE], [PRENOMS], [DATE DE NAISSANCE], [LIEU DE NAISSANCE], [TEL], [ADRESSE1], [ADRESSE2], [ADRESSE3] ) values (" & Chr(34) & oWSht.Cells(i, 1) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 2) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 3) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 4) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 5) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 6) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 7) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 8) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 9) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 10) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 11) & Chr(34) & ")"
'exécute la requète
DoCmd.RunSQL cSQL
i = i + 1
Wend
MsgBox "importation terminée"
DoCmd.SetWarnings True
Sortie:
Set oWSht = Nothing
If Not (oWkb Is Nothing) Then oWkb.Close False
Set oWkb = Nothing
If Not (oApp Is Nothing) Then oApp.Quit
Set oApp = Nothing
If Not (rsDest Is Nothing) Then rsDest.Close
Exit Sub
Resume Sortie |
Partager