Bonjour,
Il va vous falloir tout d'abord créer une spécification d'importation :
L'idée c'est d'importer une première fois le csv manuellement, en enregistrant les spécifications d'importation. La table d'importation pourrait s'appeler "T_Import" et la spécification se nommer "ImportSpecs", la commande à utiliser ensuite pour mettre à jour cette table :
DoCmd.TransferText acImportDelim, "ImportSpecs", "T_Import", chemin, True
Le code complet :
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
| Private Sub CmdImportCSV_Click()
Dim fd As Object
' Créer un objet FileDialog
Set fd = Application.FileDialog(3)
' Ne pas autoriser la sélection multiple
fd.AllowMultiSelect = False
' Affichage d'un titre particulier dans la boite de dialogue :
fd.Title = "Sélectionnez un fichier CSV..."
' Effacement de tous les filtres de fichiers éventuels (Extensions) :
fd.Filters.Clear
' Application d'un filtre particulier (On pourrait ajouter d'autres Add en dessous) :
fd.Filters.Add "Fichiers CSV", "*.*", 1
' Présélectionner le 2ème type de fichier (images)
'fd.FilterIndex = 2
' Afficher la boîte de dialogue
If fd.Show() Then
'MsgBox "Vous avez sélectionné le fichier : " _
& vbCrLf & fd.SelectedItems(1), vbInformation
chemin = fd.SelectedItems(1)
DoCmd.TransferText acImportDelim, "ImportSpecs", "T_Import", chemin, True
End If
Set fd = Nothing
End Sub |
Cdlt,
Partager