Bonjour à tous,
Ceci est mon premier post donc veuillez m'excuser si je me suis trompé sur la mise en page ou d'une toute autre façon.
Je débute sur VBA pour la lecture de document et je rencontre un problème.
J'ai déjà utilisé plusieurs fois des fonctions mais là, j'obtiens le problème : "Compile error: Expected Sub, Fonction, or Property" et je n'arrive pas à le résoudre..
J'ai besoin de votre aide, je vous en remercie d'avance
Voici mon premier code qui me permet de faire une lecture de l'ensemble des lignes d'un document :
Afin de vérifier l'existence du fichier, j'ai repris une fonction créé lors du tutoriel de Christophe Warren https://warin.developpez.com/access/fichiers/#LI-D.
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 'Option Explicit Public Sub Lecture_document() 'Détermination des variables Dim intFic As Integer Dim strLigne As String, strChemin2 As String Dim TestChemin As Variant Dim dummy As Boolean 'FreeFile permet d'obtenir un chiffre de 1 à 255 pour un accès seul 'FreeFile(1) permet d'avoir un chiffre entre 256 et 512 --> accès partagé intFic = FreeFile 'Obligation de définir strChemin strChemin2 = "H:\Macro\GEN6-H22-nutInterfWC-AlStem-JE4-corr.txt" Call TestChemin("H:\Macro\GEN6-H22-nutInterfWC-AlStem-JE4-corr.txt") If TestChemin = True Then 'ouverture du fichier Open strChemin2 For Input As intFic 'operation jusqu'à la fin du fichier End Of File While Not EOF(intFic) 'lecture du fichier ligne par ligne Line Input #intFic, strLigne 'MsgBox strLigne Wend 'Peu importe le type de fichier (FreeFile), il faut utiliser Close Close intFic End If End Sub
Merci pour vos feedback
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
33
34
35
36 Function TestChemin(strChemin As String) As Boolean 'Hyper important d'utiliser ce problème de On Error GoTo pour déterminer le type d'erreur 'et d'avoir directement le problème en MsgBox On Error GoTo err Dim oFSO As Scripting.FileSystemObject Dim oFld As Scripting.Folder Dim oDrv As Scripting.Drive Dim strDossiers() As String Dim i As Integer 'Instanciation du FSO Set oFSO = New Scripting.FileSystemObject 'Accède au disque Set oDrv = oFSO.Drives(oFSO.GetDriveName(strChemin)) 'Instancie le dossier racine Set oFld = oDrv.RootFolder 'Découpe le chemin en dossier strDossiers = Split(strChemin, "\") 'Tente d'accéder à chaque sous dossier For i = 1 To UBound(strDossiers) - 1 Set oFld = oFld.SubFolders(strDossiers(i)) Next i TestChemin = True fin: Exit Function err: Select Case err.Number Case 5: MsgBox "Le disque n'existe pas" Case 76: MsgBox "Impossible de trouver le dossier : " & strDossiers(i) Case Else: MsgBox "Erreur inconnue" End Select Resume fin End Function![]()
![]()
Partager