Recherche de données dans un document texte

Résolu
Annex -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je souhaite automatiser une tâche à l'aide d'un programme, mais je n'ai aucune idée du langage de programmation à utiliser et de la manière de procéder.

Il s'agit d'une recherche de données dans un document texte.

Voici ce que le programme doit faire :

1. Rechercher une valeur numérique situé entre 2 caractères (fixe).
2. L'enregistrer dans une variable.
3. Mettre la valeur 0 à la place.
4. Rechercher une valeur numérique situé entre 2 caractères (fixe).
5. L'enregistrer dans une variable.
6. Additionner les variables.
7. Mettre la valeur obtenue dans le deuxième emplacement.

8. Répéter l'opération tant que le première emplacement est différent de 0.

Exemple :

1. *32/14"
2. x = 32
3. *0/14"
4. *0/14"
5. y = 14
6. z = x + y
7. *0/46"

8. Réitérer pour les autres données : *3/66", *21/9", *4/23",...

Voila si vous avez besoin de plus d'informations n'hésiter pas à le demander, j'espère que vous pourrez m'aider, déjà pour le langage à utiliser, et merci d'avance de vos solutions.


Annex

2 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour,

Tu copies/colles ton texte dans excel.
Dans B1 tu saisis:
="*0/"&STXT(A1;2;CHERCHE("/";A1)-2)+STXT(A1;CHERCHE("/";A1)+1;NBCAR(A1)-CHERCHE("/";A1)-1)&""""
que tu recopies vers le bas
eric
0
Annex
 
Merci de ta prompte réponse !

J'ai malheureusement pas su utiliser ton code convenablement.

="*0/"&STXT(A1;2;CHERCHE("/";A1)-2)+STXT(A1;CHERCHE("/";A1)+1;NBCAR(A1)-CHERCHE("/";A1)-1)&""""

Le caractère "*" n'est pas utilisé dans ton code, est-ce normal ?

En fin de code, il y a """" ne devrait-il pas y en avoir que 3 ?

Si tu avais la possibilité d'expliquer quelque peu le code, ça serait très sympathique de ta part.

Merci d'avance.


Annex
0
Annex
 
Je m'excuse d'avance pour le double post mais j'avais oublié de préciser que les chaînes de caractères dans lesquelles est effectué la modification se trouve au milieu d'autre caractère souvent de longueur différente :

Exemple :

hfgkd,hdgskl,djk*7/34"
hatfs,aoh*91/43"
wtarajms,kaojsga,hatfa*16/6"


Voila, je pense avoir tout dit cette fois.

Merci à ceux qui m'aide et un bon week end à chacun.


Annex
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
On va décomposer alors pour avoir une formule plus simple.

en B1 position de * : =CHERCHE("~*";A1)
~* car * est un caractère générique qu'on ne peut rechercher, pour le rechercher il le faiire précéder de ~

en C1 position de / : =CHERCHE("/";A1)

en D1 la chaine transformée : =GAUCHE(A1;B1)&"0/"&STXT(A1;B1+1;C1-B1-1)+STXT(A1;C1+1;NBCAR(A1)-C1-1)&""""
"""" car " indique début et fin de chaine, pour l'ajouter il faut le doubler donc "" et comme c'est une chaine il faut l'encadrer par des " " => """"

eric
0