Recherche de données dans un document texte

Résolu/Fermé
Annex - 29 janv. 2010 à 19:52
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 - 29 janv. 2010 à 21:51
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
A voir également:

2 réponses

eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
29 janv. 2010 à 20:08
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
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
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 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
29 janv. 2010 à 21:51
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