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
| Private Sub cmdImporterOnglet_Click()
Dim sFichier As String, sOnglet As String
Dim sTableDestination As String
' Table dans laquelle on va importer les données
sTableDestination = "test"
On Error Resume Next
' On s'assure que la table est fermée
DoCmd.Close acTable, sTableDestination, acSavePrompt
' Si on veut détruire la table avant d'importer
'DoCmd.DeleteObject acTable, sTableDestination
' Si on veut simplement vider la table avant d'importer
'Application.CurrentDb.Execute "DELETE FROM [" & sTableDestination & "]"
On Error GoTo ErrH
' Récupérer le nom (complet) du fichier et de l'onglet
sFichier = Nz(Me.txtFichier, "")
sOnglet = Nz(Me.lstOngletsExcel, "")
If Len(sFichier) > 0 Then
If Len(sOnglet) > 0 Then
sOnglet = sOnglet & "!"
' Importer l'onglet
DoCmd.TransferSpreadsheet acImport, , sTableDestination, sFichier, True, sOnglet
Else
' Importer l'onglet par défaut (le premier du fichier)
DoCmd.TransferSpreadsheet acImport, , sTableDestination, sFichier, True
End If
DoCmd.OpenTable sTableDestination
End If
Sortie:
Exit Sub
ErrH:
MsgBox "Erreur No. " & Err.Number & " : " & Err.Description
Resume Sortie
End Sub |
Partager