importation d'une virgule dans access [VB6] - VB/VBA/VBS - Programmation
Marsh Posté le 24-07-2006 à 21:43:18
je vous rajoute une partie du code d'importation d'un fichier .csv en espérant que cela puisse vous aidez à m'aider.
Private Sub Command1_Click()
On Error GoTo erreurcor20
Dim dynposteimp As Recordset
Dim DT1 As Recordset
Dim DT6 As Recordset
Dim DT12 As Recordset
Set DT1 = gCurrentDB.OpenRecordset("T1", dbOpenDynaset)
Set DT6 = gCurrentDB.OpenRecordset("T6", dbOpenDynaset)
Set DT12 = gCurrentDB.OpenRecordset("T12", dbOpenDynaset)
With CommonDialog1
'Ligne de titre
.DialogTitle = "Open File [CSV]"
'Masque de recherche
.Filter = " Text Files (*.CSV) |*.csv|All files (*.*) |*.*"
'Index de filtre
.FilterIndex = 1
'Mise en place Flags : Dialogue de l'explorateur avec les noms longs
.Flags = cdlOFNCreatePrompt And cdlOFNExplorer
'Ouvrir fichier
.ShowOpen
End With
If CommonDialog1.Flags = 0 Then
Exit Sub
End If
Dim lignestring, problemeImp As String
problemeImp = "Erreur d'importation"
chemin2 = CommonDialog1.FileName
NumFile_s = FreeFile
Open chemin2 For Input As #NumFile_s
While Not EOF(NumFile_s)
Input #NumFile_s, lignestring
If lignestring = "" Then
'dynposteimp.Close
Close #NumFile_s
Exit Sub
End If
placech1 = InStr(placech0 + 1, lignestring, ";", vbTextCompare) 'prend le premier mot terminé par un point virgule
If placech1 = 0 Then
DT1.Close
DT6.Close
DT12.Close
Close #NumFile_s
MsgBox problemeImp
Exit Sub
End If
Marsh Posté le 25-07-2006 à 15:43:23
peut être qu'avant de placer ton fichier csv dans access, tu peux l'ouvrir sous notepad par exemple, et lui appliquer une modification de chaque cvirgule en ; (ou toute autre modification nécessaire). C'est un thème fréquemment demandé sur le forum.
Marsh Posté le 22-07-2006 à 01:43:06
Bonjour, lorsque j'importe un fichier csv grâce à mon prog d'importation en vb, bin ca ne veut pas parceque j'ai champs ou y a des virgules
Donc je cherche à savoir s'il n'y aurai pas un moyen de faire "accepter" les virgules
ou alors si vous avez une meilleur idée, n'hésiter pas.
Je vous remercie par avance.
Message édité par DeadKiller le 25-07-2006 à 15:39:03