Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/07/2011, 11h40   #1
Membre régulier
 
Homme
Inscription : octobre 2007
Messages : 231
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : octobre 2007
Messages : 231
Points : 75
Points : 75
Par défaut Ecrire macro dans l'éditeur vba depuis une application

Bonjour je souhaiterais écrire une macro dont le code est contenu dans un fichier txt.
Depuis l'éditeur VBA j'utilisais ce code ci:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
Dim intfic As Integer
    intfic = FreeFile
    FilePath = ThisWorkbook.Path
    macrosPath = FilePath & "\Data\v1.9.3\Macros\"
    With vbProj.VBComponents("Feuil5").CodeModule
        macrosFiles = macrosPath & "Feuil5" & ".txt"
        Set objFSO = CreateObject("Scripting.FileSystemObject")
        If objFSO.FileExists(macrosFiles) Then
            Open macrosFiles For Input As intfic
                While Not EOF(intfic)
                    Line Input #intfic, strLigne
                         x = .CountOfLines
                        .InsertLines x + intfic, strLigne
                Wend
            Close intfic
        End If
    End With
Mais malheureusement l'IDE n'accepete pas le code j'ai donc corrigé par ceci :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
 
With vbProj.VBComponents("Feuil5").CodeModule
            macrosFiles = macrosPath & "Feuil5" & ".txt"
            objFSO = CreateObject("Scripting.FileSystemObject")
            If objFSO.FileExists(macrosFiles) Then
                FileOpen(intfic, macrosFiles, OpenMode.Input, OpenAccess.ReadWrite, OpenShare.Default)
                While Not EOF(intfic)
                        Line Input #intfic, strLigne    
                    x = .CountOfLines
                    .InsertLines(x + intfic, strLigne)
                End While
                FileClose()
            End If
        End With
Mais l'IDE me souligne :
Code :
1
2
3
4
 
 Line Input #intfic, strLigne 
x = .CountOfLines
                    .InsertLines(x + intfic, strLigne)
Par quoi puis-je corriger ceci?
Merci
bakman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2011, 18h37   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 847
Points : 16 847
Envoyer un message via Skype™ à bbil
Bonsoir,

tu mélange deux façon de lire le contenu d'un fichier texte avec FileSystem Object et sans ...

Pour lire le contenu d'un fichier texte avec FileSystemObject volir :

Comment lire le contenu d'un fichier texte ?

et sans :

Code :
1
2
3
4
5
6
7
8
 
  macrosFiles = macrosPath & "Feuil5" & ".txt"         
 If Dir(macrosFiles) <> "" Then
                 intfic = freefile
               Open macrosFiles For Input As intfic                 
              While Not EOF(intfic)      
                     Line Input #intfic, strLigne
          (..)
évite de mélanger les deux...
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h52.


 
 
 
 
Partenaires

Hébergement Web