Fichier text et vba
Résolu/Fermé
berbib
-
14 déc. 2010 à 11:53
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 14 déc. 2010 à 17:01
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 14 déc. 2010 à 17:01
A voir également:
- Fichier text et vba
- Fichier rar - Guide
- Fichier host - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier iso - Guide
4 réponses
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 14/12/2010 à 16:37
Modifié par lermite222 le 14/12/2010 à 16:37
Bonjour,
un exemple ? , j'ai pas tester mais ça devrait t'aider...
Dans un module public..
Eventuellement tu peu remplacer SelectionFichier par le chemin et nom en dur dans le module.
Syntaxe = OuvreFichier()
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
un exemple ? , j'ai pas tester mais ça devrait t'aider...
Dans un module public..
Option Explicit Public Chemin As String Public Fichier As String 'Sélectionner un fichier par boite de dialogue Function SelectionFichier() As Boolean Dim nomfich As String, i As Integer nomfich = Application.GetOpenFilename(FileFilter:="(*.*),*.tous" _ , Title:="Sélectionnez le fichier à convertir") If nomfich = "Faux" Then 'pas de sélection faite Exit Function End If For i = Len(nomfich) To 2 Step -1 If Mid(nomfich, i, 1) = "\" Then Exit For Next i Chemin = Left(nomfich, i) Fichier = Mid(nomfich, i + 1) SelectionFichier = True End Function Sub OuvreFichier() Dim F As String, Fich As Integer, TB, D SelectionFichier F = Chemin & Fichier Fich = FreeFile Open F For Input As #Fich While Not EOF(Fich) Line Input #Fich, D TB = Split(D, ",") 'adapter au séparateur... 'Ici, la première donnée est dans T(0) 'Tu peu l'insérer où tu veux Wend End Sub
Eventuellement tu peu remplacer SelectionFichier par le chemin et nom en dur dans le module.
Syntaxe = OuvreFichier()
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 14/12/2010 à 16:39
Modifié par lermite222 le 14/12/2010 à 16:39
Beh... entre temps tu a mis ton topic en résolu ? comment ?
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Après avoir bien reflechi et tourner sur le net... voila mon code.. sui fonctionne, peut etre pas tres académique :( mais bon... efficace.
Merci a toi quand mème.
Dim NumFic As Integer
Dim strLigne As String
Dim Niveau1 As String
Dim requeteSelect6 As String
Dim requeteInsert1 As String
Dim Result As Integer
Dim recset As Object
Dim ID As Integer
Dim DB As Database
NumFic = FreeFile
Open "c:\Classeur0.txt" For Input As #NumFic
While Not EOF(NumFic)
Line Input #NumFic, strLigne
'Select Case i
'Case 1
pos = InStr(strLigne, ";")
Niveau1 = Left(strLigne, pos - 1)
strLigne = Mid(strLigne, pos + 1, Len(strLigne) - pos)
requeteSelect1 = "Select ID_Niv1 from Article_Niv1 where Des_Niv1 = '" & Niveau1 & "';"
requeteInsert1 = "INSERT INTO Article_Niv1 ( Des_Niv1 )VALUES ('" & Niveau1 & "');"
Set DB = CurrentDb
Set recset = DB.OpenRecordset("Select * from Article_Niv1 where Des_Niv1 = '" & Niveau1 & "';")
Result = recset.RecordCount
If Result = 0 Then
DoCmd.RunSQL requeteInsert
End If
Merci a toi quand mème.
Dim NumFic As Integer
Dim strLigne As String
Dim Niveau1 As String
Dim requeteSelect6 As String
Dim requeteInsert1 As String
Dim Result As Integer
Dim recset As Object
Dim ID As Integer
Dim DB As Database
NumFic = FreeFile
Open "c:\Classeur0.txt" For Input As #NumFic
While Not EOF(NumFic)
Line Input #NumFic, strLigne
'Select Case i
'Case 1
pos = InStr(strLigne, ";")
Niveau1 = Left(strLigne, pos - 1)
strLigne = Mid(strLigne, pos + 1, Len(strLigne) - pos)
requeteSelect1 = "Select ID_Niv1 from Article_Niv1 where Des_Niv1 = '" & Niveau1 & "';"
requeteInsert1 = "INSERT INTO Article_Niv1 ( Des_Niv1 )VALUES ('" & Niveau1 & "');"
Set DB = CurrentDb
Set recset = DB.OpenRecordset("Select * from Article_Niv1 where Des_Niv1 = '" & Niveau1 & "';")
Result = recset.RecordCount
If Result = 0 Then
DoCmd.RunSQL requeteInsert
End If
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
14 déc. 2010 à 17:01
14 déc. 2010 à 17:01
D'ac, mais dans ton cas la fonction Split est plus appropriée.