[VBA] Importer certaines lignes, fichier log
Résolu
Elboubdelapampa
Messages postés
153
Date d'inscription
Statut
Membre
Dernière intervention
-
Elboubdelapampa Messages postés 153 Date d'inscription Statut Membre Dernière intervention -
Elboubdelapampa Messages postés 153 Date d'inscription Statut Membre Dernière intervention -
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.
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.
2 réponses
-
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...
-
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) -
-
#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) -
-
-
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 ?