Recherche et extraction de données dans un fichier .o

Bonjour,

Je suis débutant en VBA, et malgré de nombreuses recherches je ne parviens pas à obtenir ce que je veux.

Je souhaite récupérer des valeurs dans plusieurs fichiers .o (je ne connais pas, ca ressemble vachement à un fichier .txt !!) regroupés dans un répertoire.

Ces fichiers peuvent être TRES long (j’en ai vu a 500 000 lignes). Ces fichiers se ressemble tous. Je souhaite récupérer 3 informations par résultats, à mettre dans 3 colonnes d’excel :

  • Nom du calcul (c’est moi qui le met)
  • Résultat
  • Erreur associée

Cependant chaque calcul est réalisé plusieurs fois et l’erreur associée diminue. Celle qui m’intéresse est bien évidemment la dernière. Par exemple, dans un fichier .o on peut lire :

Temperature ideale de cuisson d’un fondant au chocolat

183.78 0.0523

Donc je souhaite que le code cherche la dernière chaine de caractère « Temperature ideale de cuisson d’un fondant au chocolat » et récupère les 2 valeurs. Mais il n’y a pas que les fondants au chocolat qui m’intéresse ! Mais aussi les cookies, les madeleines … et ca dépend de mon appétit, de la saison … C’est pour ca que je préfère remplir moi-même la première colonne. Je voudrais que le code me créer un tableau pour chaque fichier .o exploré, du style se décaler de 5 colonnes (si le reste marche, ca j’arriverai a le faire à la limite ^^).

J’ai vu beaucoup de chose incompréhensible a mon niveau. C’est principalement du copier/coller hein :

Sub testaspi()
    Dim Repertoire As FileDialog, monRepertoire As String
    Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
    Repertoire.Show
    Sheets("recuperation").Select
    If Repertoire.SelectedItems.Count > 0 Then
        monRepertoire = Repertoire.SelectedItems(1)
'        la il me manque un gros morceau
    Else
        MsgBox "Aucun Répertoire Sélectionné"
    End If
    MsgBox "Fin !"
End Sub

Sub Gros_morceau()

    Dim Fso, SourceFolder, SubFolder, fichier As Object
    Dim cherche As Range
    Dim tableau

    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set SourceFolder = Fso.GetFolder(ceRepertoire)

        For Each fichier In SourceFolder.Files
        If Right(fichier.Name, 4) = ".txt" Then

            N = FreeFile
            Open fichier For Input As #N

            Do While Not EOF(1)
                Line Input #N, contenu
                tableau = Split(contenu, ";")
'                ....

End Sub

Merci d'avance ;)

Rechercher des sujets similaires à "recherche extraction donnees fichier"