Récupérer des données d’un fichier texte avec calcul

Bonjour à tous,

J’utilise ce code :

Do While Not EOF(Canal)
    Line Input #Canal, a$
    If Len(Trim(a$)) > 0 Then    '-- Si la ligne n'est pas vide

        ' Cherche idée pour récupérer mes données avec calcul

    End If
Loop

Pour récupérer les données suivantes :

31test.txt (1.18 Ko)

dans une feuille Excel (en pièce jointe)

En absence d'idées, j’aimerais bien trouvé une aide

Merci d’avance.

26sr-v1.xlsx (8.42 Ko)

Bonjour,

Heuuu oui !! où est la pièce jointe ?

A+

Bonsoir lermite,

message édité, pièces jointes ajoutées

Avec ce qu'il y a sur ton classeur difficile de comprendre quelque chose,

Tu pourrais poster un exemple du fichier Texte en question ?

A+

Voila la source de deux type de dispositions des données :

Le champ "Occup" dans la feuille Excel, devra cumulé toute valeur trouvée pour les elements suivant :

Occup = RDE + RDI + HS-CF + HS-SI + OCCUP

Disponible = DISPO

Merci.

17source.zip (740.00 Octets)

Pas clair du tout...

Télécharge la PJ, fais comme demander et re-poste le classeur.

A+

17apt-text.xls (19.00 Ko)

Bonjour lermite,

Voila le classeur en retour, et le résultat voulu pour les deux fichiers texte.

Merci.

13apt-text-v1.zip (11.41 Ko)

Voulant finaliser et contrôler ma procédure je m’aperçois que tes deux fichiers texte ont des configurations totalement différentes ?

Et il y a des erreurs dans le fichier, certaines lignes avec HS-CF ont des nombres en colonne B à la place de DD ??

Je ne compte pas faire une procédure pour un nombre indéterminer de versions.

J'ai Finalisé celui qui à des DD en colonne B

Faut faire un choix... tout tes fichiers textes devront avoir la même configuration (avec des "DD")

Tu dis..

Bonjour lermite,

tout tes fichiers textes devront avoir la même configuration (avec des "DD")

Ce n'est pas forcement.

En fait j'ai trois fichiers texte à traiter.

Deux ont la même structure sans "DD" en colonne B, le troisième en a en colonne B.

Et j'ai remarqué dans la colonne des "DD" qu'il y a aussi des "111" et des "999" qui se présentent pour une seule fois.

Bon, tu peux finaliser le fichier avec des "DD", ensuite j'essayerai d'adapter le code avec l'autre fichier.

Je t'en remercie.

Re,

Voila ce que j'ai pu faire

Mais il n'est pas adaptable aux autres configurations des textes, il faudra faire une procédure spécifique pour ceux-là.

A+

36apt-retour-v2.xlsm (30.52 Ko)

Merci lermite.

C'est trés bien fait.

Je regarde le code pour essayer de le comprendre.

Re,

Finalement j'ai fait une double procédure pour prendre tes deux types de fichiers.

A+

11apt-retour-v3.xlsm (35.47 Ko)

Bonsoir lermite,

Je te remercie de la novelle procédure.

J'ai changé le filtre des fichiers à ouvrir en :

NomFich = Application.GetOpenFilename(FileFilter:="(*.*),*.*" _
            , Title:="Sélectionnez le fichier à convertir")

Parce que mes fichiers texte n'ont pas d'extension.

J'ai changé également les noms des fichiers à traiter (Ils sont au nombre de trois).

Je test et voir ce que ça donne avec, surtout que les fichiers contiennent des lignes de texte complet représentants des messages d'information ou des titres.

Mais, je crois que cela ne posera pas de problème

Bonjour lermite,

Comme j'ai trois fichiers à traiter (SRI, DIST, DD), deux entre eux, ont la même structure, j'aimerais ajouter trois boutons avec trois tableaux dessous pour afficher les résultats de chaque fichier.

Le premier pour SRI, le deuxième pour DIST et le troisième pour DD.

Merci d’avance.

Tu ne me semble pourtant pas un débutant !!!

J'ai laisser la possibilité de la destination avec Lig1 et Coli, le type de fichier...

Alors réfléchi un peu, ce ne devrait pas être compliquer pour sérialiser.

Pas besoin de trois boutons, un seul suffit.

Si vraiment tu ne t'en sort pas tu dis..

A+

Re,

Je vais bien réfléchir, lermite

Bonjour lermite,

Dans mes nouveaux tests, j'ai les erreurs suivantes :

- 1ère erreur :

Objet spécifié introuvable

, et marque la Ligne :
UFmessage.Show 0

Et Lorsque j'essaye d'ouvrir l'objet UserForm UFmessage, depuis VBAProject, je reçois ceci :

Erreur d'accès Chemin/Fichier

Et après quelque secondes Excel est redémarré

- 2ème erreur :

Incompatibilité de type

, dans cette ligne :
S = .Cells(Lig,1)

J'ai redéclaré :

S as Variant

La même erreur apparait pour la ligne suivante :

If S <> "" then

Pour

S = Erreur 2029

J'ai regardé la ligne dans le fichier ouvert dans Excel, j'ai trouvé qu’il y a une erreur : #NOM?

(la cellule, pour Excel contient un nom d'une plage =- O_)

Cette erreur est générée lors de l’ouverture de fichier texte dans Excel. Elle n'est pas d'origine du fichier.

Donne le nom Exact du fichier avec les DD et la ligne et colonne du tableau

Donne le nom Exact des deux autre fichiers. et les lignes et colonnes des tableaux

Éventuellement poste ton dernier classeur.

A+

Re,

Les erreurs #NOM dans tes fichiers sont le résultat du contenu avec = considérer comme des formules en erreurs. C'est résolu.

Y a aussi quelque autre truc qui clochaient.

Je pense que maintenant tout roule.

A+

13apt-retour-v4.xlsm (49.66 Ko)

Merci lermite.

C'est mieux ainsi

Mais quel est la solution pour cette erreur :

Erreur d'accès Chemin/Fichier

Parce qu'elle revient avec moi dans différents fichiers d'Excel.

Rechercher des sujets similaires à "recuperer donnees fichier texte calcul"