Bonjour,
Voici le contexte :
Je suis sur un projet de comparaison de fichiers sur VBA, je doit comparer certaines valeurs d'un fichier ".txt" avec d'autres valeurs tirés d'un fichier ".xlsx".
Aucun probleme pour l'extraction des valeurs du ".xlsx" que j'ai mis dans les cases d'un tableau. Mais c'est pas aussi fluide avec le ".txt" ...
Petit exemple de ma facon de procéder pour l'extraction des données du ".xlsx" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Sub Tableaux() Dim tabBANK(3) Dim tabSAP(3) Dim A As Integer Dim B As String tabSAP(2) = Mid(Range("A45"), 103, 16) Workbooks.Open Filename:="C:\Users\rugeth\Documents\Convertisseur\" & "LISTE_OPERATIONSnew" & ".xlsx" tabBANK(0) = Range("A3") tabBANK(1) = Range("A4") tabBANK(2) = Range("B8") tabBANK(3) = Range("B9") '********************************************************************************************************************************** 'Bloc de comparaison des réferences tabSAP(0) = Mid(tabSAP(0), 55, 7) tabBANK(0) = Mid(tabBANK(0), 7, 7) If (tabBANK(0)) = (tabSAP(0)) Then Select Case MsgBox("Références Identiques " & Chr(10) & Chr(10) & "REF = " & tabBANK(0), vbInformation, "Comparateur références") End Select Else Select Case MsgBox("Erreur de comparaison " & Chr(10) & Chr(10) & "SAP = " & tabSAP(0) & " <> BANK = " & tabBANK(0), vbCritical, "Comparateur références") End Select End If
Pour accéder a mon fichier ".txt", j'ai utilisé la fonction "FSO.OpenTextFile".
Voici le code pour le FSO :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 On Error GoTo err Dim FSO As Scripting.FileSystemObject Dim FL As Scripting.File Set FSO = New Scripting.FileSystemObject 'Set FL = FSO.GetFile("C:\Users\rugeth\Documents\Convertisseur\propo.txt") Set FL = FSO.OpenTextFile("C:\Users\rugeth\Documents\Convertisseur\propo.txt") If FSO.FileExists("C:\Users\rugeth\Documents\Convertisseur\propo.txt") Then Set FL = FSO.GetFile("C:\Users\rugeth\Documents\Convertisseur\propo.txt") End If fin: Exit Function err: Select Case err.Number Case 53: MsgBox "Le fichier est introuvable" Case Else: MsgBox "Erreur inconnue" End Select Resume fin
Désormais je cherche une technique pour extraire des valeurs précises de mon fichier texte...
Ps : Je suis débutant en VBA, Veuillez bien détailler/expliquer vos solutions s'il vous plait. (N'hésitez pas à demander un complément d'infos si nécéssaire)
Partager