[VBA] Importer certaines lignes, fichier log

Résolu/Fermé
Elboubdelapampa Messages postés 171 Date d'inscription mardi 26 janvier 2010 Statut Membre Dernière intervention 18 mars 2012 - 21 juin 2010 à 08:48
Elboubdelapampa Messages postés 171 Date d'inscription mardi 26 janvier 2010 Statut Membre Dernière intervention 18 mars 2012 - 21 juin 2010 à 13:05
Bonjour,
J'ai un fichier log possédant un trop grand nombre de ligne pour être importer directement dans Exel. Vu que il n'y a que les lignes commençant par "===>" qui m'intéressent, je me demandais si il n'y a pas une fonction permettant de chercher dans le fichier puis de les importer.
J'ai cherché dans l'aide, dans les forum, mais j'ai rien trouvé pour VBA.
Merci.


A voir également:

2 réponses

Elboubdelapampa Messages postés 171 Date d'inscription mardi 26 janvier 2010 Statut Membre Dernière intervention 18 mars 2012 7
21 juin 2010 à 09:52
Oui, j'ai appris sur le tas, mais je commence à me débrouiller avec VB 6 sur Excel. Je pensais justement faire ça avec VBA, mais je sais pas vraiment comment commencer...
1
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
21 juin 2010 à 10:06
Il faut lire le fichier et ne récupérer que les lignes commençant par "===>'"

Si c'est la lecture du fichier qui te pose problème, voilà un exemple :

Sub OpenFichier()
Dim fp As Integer     'pointeur vers le fichier
Dim chemin As String    'chemin du fichier et nom du fichier
Dim chaineStr As String      'Variable qui récupère le contenu d'une ligne du fichier pour le traitement

     fp = FreeFile
     chemin = "C:\temp\monfichier.log"

    On Error Resume Next
    Open chemin For Input As #fp
    While Not EOF(fp)
        Line Input #fp, chaineStr
            'code traitant le contenu de chaineStr
    Wend
    
    If Err.Number <> 0 Then
        MsgBox Err.Number & " - " & Err.Description, vbCritical, "Erreur"
        Exit Sub
    End If

End Sub


;o)
0
Elboubdelapampa Messages postés 171 Date d'inscription mardi 26 janvier 2010 Statut Membre Dernière intervention 18 mars 2012 7
21 juin 2010 à 10:24
Donc si je comprend bien Open chemin For Input As #fp permet d'ouvrir le fichier sans l'importer directement

A quoi correspond #fp?
Dans Line Input je met "===>" à la place de #fp?
Merci pour la réponse, J'avoue que je suis un peu perdu avec l'aide F1 (j'ai excel en allemand...)
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
21 juin 2010 à 12:38
#fp est ce que l'on appelle un "pointeur". C'est à dire qu'il contient l'adresse mémoire du fichier (pour faire court ^^)

Line Input #fp, chaineStr > récupère une ligne du fichier et la stock dans chaineStr. Il faut ensuite traiter le contenu de chaineStr.

Je te conseille de faire un tour ici https://vb.developpez.com/cours/

Bon courage

;o)
0
Elboubdelapampa Messages postés 171 Date d'inscription mardi 26 janvier 2010 Statut Membre Dernière intervention 18 mars 2012 7
21 juin 2010 à 13:05
Merci beaucoup pour la réponse et le bout de code, je espérait pas tant...
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
21 juin 2010 à 09:40
Bonjour,

Non il n'y a pas de fonction intégrée à Excel pour faire ça.

Il faut que tu fasses une macro en VBA.

As-tu des connaissance en VB ?
0