Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

synthèse d'une formule dans une cellule

16 réponses
Avatar
Sam
Bonjour,
Souvent pour élaborer une formule, je travaille par étape.
Ex de l'extraction d'un nombre contenu dans du texte :
A2 contient une suite de nombres et de caractères. La position de chaque
nombre est bien définie.

en ligne 6
en B6 j'ai =STXT(A2;3;5)
en C6 j'ai =SUBSTITUE(B6;".";",")
en D6 j'ai =CNUM(C6)

Pour les lignes suivantes, le nombre se trouve à une autre position

Y a t'il une astuce pour synthétiser en E6 la formule donnant le résultat de
D6,
c'est à dire
en E6 obtenir =CNUM(SUBSTITUE(STXT(A2;3;5);".";",)
puis de faire un glisser jusqu'en bas de la page pour remplir les autres
cellules E ?
ou faut il tout se taper à la main ?

Le but est de supprimer ensuite les étapes intermédiaires (colonnes B, C, D)
Cordialement
Michel

10 réponses

1 2
Avatar
Tatanka
Salut Sam,

Si j'ai bien compris, cette formule me semble compétente :

=CNUM(SUBSTITUE(STXT(A2;3;5);".";","))

Serge


"Sam" a écrit dans le message de news:
482878c3$0$833$

Bonjour,
Souvent pour élaborer une formule, je travaille par étape.
Ex de l'extraction d'un nombre contenu dans du texte :
A2 contient une suite de nombres et de caractères. La position de chaque
nombre est bien définie.

en ligne 6
en B6 j'ai =STXT(A2;3;5)
en C6 j'ai =SUBSTITUE(B6;".";",")
en D6 j'ai =CNUM(C6)

Pour les lignes suivantes, le nombre se trouve à une autre position

Y a t'il une astuce pour synthétiser en E6 la formule donnant le résultat
de D6,
c'est à dire
en E6 obtenir =CNUM(SUBSTITUE(STXT(A2;3;5);".";",)
puis de faire un glisser jusqu'en bas de la page pour remplir les autres
cellules E ?
ou faut il tout se taper à la main ?

Le but est de supprimer ensuite les étapes intermédiaires (colonnes B, C,
D)
Cordialement
Michel



Avatar
Sam
Bonjour Serge,
ce que je recherche c'est à partir de formules se trouvant dans différents
cellules permettant de trouver un résultat, d'intégrer l'ensemble de ces
formules en une formule unique me permettant de trouver ce résultat.
Y a t'il une astuce ou faut il la reécrire à la main comme j'ai en E6 à
partir des formules contenues dans B6, C6, E6 ?

C'est le problème de toute recherche de formule compliquée :
je démarre tout doucement par une 1ere formule dans la colonne B, je vérifie
qu'elle fonctionne dans toutes les configurations, puis en colonne C,
j'applique une formule sur le résultat de la colonne B, je vérifie que cette
2eme formule fonctionne dans toutes les configurations, puis en colonne E,
j'applique une formule sur le résultat, puis...
Au final ça marche mais le but final est de supprimer toutes ces cellules
intermédiaires en créant la formule global reprenant toutes les formules
utilisées.
Et c'est là que je recherche éventuellement une astuce.
Cordialement
Michel

"Tatanka" a écrit dans le message de news:
ce%Vj.776$
Salut Sam,

Si j'ai bien compris, cette formule me semble compétente :

=CNUM(SUBSTITUE(STXT(A2;3;5);".";","))

Serge


"Sam" a écrit dans le message de news:
482878c3$0$833$

Bonjour,
Souvent pour élaborer une formule, je travaille par étape.
Ex de l'extraction d'un nombre contenu dans du texte :
A2 contient une suite de nombres et de caractères. La position de chaque
nombre est bien définie.

en ligne 6
en B6 j'ai =STXT(A2;3;5)
en C6 j'ai =SUBSTITUE(B6;".";",")
en D6 j'ai =CNUM(C6)

Pour les lignes suivantes, le nombre se trouve à une autre position

Y a t'il une astuce pour synthétiser en E6 la formule donnant le résultat
de D6,
c'est à dire
en E6 obtenir =CNUM(SUBSTITUE(STXT(A2;3;5);".";",)
puis de faire un glisser jusqu'en bas de la page pour remplir les autres
cellules E ?
ou faut il tout se taper à la main ?

Le but est de supprimer ensuite les étapes intermédiaires (colonnes B, C,
D)
Cordialement
Michel







Avatar
LSteph
Bonsoir Sam,

On a bien compris!
Ce que Serge t'a proposé fait exactement ce que tu avais demandé!
A priori en partant de cette proposition, tu pourrais utiliser cherche
pour démarrer ton extraction deux chr avant le point.
Ce qui donnerait peut-être:

=CNUM(SUBSTITUE(STXT(A2;TROUVE(".";A2)-2;5);".";","))




Explication:
Le seul hic qui subsiste vient probablement de ce que tu n'as pas
précisé davantage non plus dans ta seconde demande.

Pour les lignes suivantes, le nombre se trouve à une autre position





Selon toute hypothèse attendant l'existence vraisemblable d'une réponse
à ta question., y at il une logique permettant de supposer la position
de cette valeur?

de plus il semblerait selon ceci
en B6 j'ai =STXT(A2;3;5)
que cette valeur comprendrait systématiquement 5 chr




dont celui du milieu
compte tenu de cela
en C6 j'ai =SUBSTITUE(B6;".";",")
serait un point à remplacer par la virgule.






Cordialement.

--
lSteph






Bonjour Serge,
ce que je recherche c'est à partir de formules se trouvant dans différents
cellules permettant de trouver un résultat, d'intégrer l'ensemble de ces
formules en une formule unique me permettant de trouver ce résultat.
Y a t'il une astuce ou faut il la reécrire à la main comme j'ai en E6 à
partir des formules contenues dans B6, C6, E6 ?

C'est le problème de toute recherche de formule compliquée :
je démarre tout doucement par une 1ere formule dans la colonne B, je vérifie
qu'elle fonctionne dans toutes les configurations, puis en colonne C,
j'applique une formule sur le résultat de la colonne B, je vérifie que cette
2eme formule fonctionne dans toutes les configurations, puis en colonne E,
j'applique une formule sur le résultat, puis...
Au final ça marche mais le but final est de supprimer toutes ces cellules
intermédiaires en créant la formule global reprenant toutes les formules
utilisées.
Et c'est là que je recherche éventuellement une astuce.
Cordialement
Michel

"Tatanka" a écrit dans le message de news:
ce%Vj.776$
Salut Sam,

Si j'ai bien compris, cette formule me semble compétente :

=CNUM(SUBSTITUE(STXT(A2;3;5);".";","))

Serge


"Sam" a écrit dans le message de news:
482878c3$0$833$
Bonjour,
Souvent pour élaborer une formule, je travaille par étape.
Ex de l'extraction d'un nombre contenu dans du texte :
A2 contient une suite de nombres et de caractères. La position de chaque
nombre est bien définie.

en ligne 6
en B6 j'ai =STXT(A2;3;5)
en C6 j'ai =SUBSTITUE(B6;".";",")
en D6 j'ai =CNUM(C6)

Pour les lignes suivantes, le nombre se trouve à une autre position

Y a t'il une astuce pour synthétiser en E6 la formule donnant le résultat
de D6,
c'est à dire
en E6 obtenir =CNUM(SUBSTITUE(STXT(A2;3;5);".";",)
puis de faire un glisser jusqu'en bas de la page pour remplir les autres
cellules E ?
ou faut il tout se taper à la main ?

Le but est de supprimer ensuite les étapes intermédiaires (colonnes B, C,
D)
Cordialement
Michel











Avatar
Sam
Bonjour,
ma question est plus farfelue que ça et plus généraliste !
Voici le lien vers un fichier utilisé pour l'exemple (mais ce n'est qu'un
exemple, c'est parce que j'étais en train de le faire manuellement que je me
suis dit que ça pourrait peut être se faire automatiquement).
http://cjoint.com/?fnoElbFVa1

A partir des formules écrites dans les cellules colonne B, C et D, y a t'il
une astuce pour faire écrire en colonne E la formule globale afin d'obtenir
directement le même résultat qu'en D ?
Si l'astuce existe, peut on l'appliquer sur n'importe quel fichier dont on a
vérifié par étape les formules élémentaires ?

Cordialement
Michel
Avatar
lSteph
Bonjour,

dans ce cas oui ce serait possible,
mais il suffirait pour vraiment simplifier au lieu d'écrire chaque
formule séparément et se prendre la tête pour
la remplacer d'écrire directement "la" formule.

Ce qui serait en revanche "farfelu" (puisque tu le revendiques)
c'est de vouloir l'appliquer à une chaine qui ne proposerait
minimalement pas un même shéma
au moins à un endroit. Selon ce nouvel exemple que tu soumets mon
subterfuge de la position du point ne tient donc plus alors que cela
convenait selon la formulation première de ta demande.
Le souci c'est que selon a2 ou A3 la structure et l'emplacement change
sans qu'il y ait un minimum de rigueur ou une logique qui permette
d'appréhender non plus une mais plusieurs positions dans la même
chaine pour effectuer l'extraction.
Il me semble donc prioritaire de traiter d'abord ce souci là avant de
se lancer dans la suite.
C'est essentiellement la structure de cette chaine répartie entre a1
et
A3 qui nécessite d'être corrigée ou adaptée, par exemple déjà l 'avoir
en un seul morceau si les espaces viennent systématiquement séparer
chaque éléments tu peux utiliser Données convertir (délimité suiv ant
espace suivant...)
et répartir chaque partie dans laquelle la même formule aurait
capacité à extraire en substance chaque composant requis qui viendrait
se placer sous un titre.
Les cellules cote à cote ainsi obtenues donneraient ceci (ici
transposées verticalement pour plus de lisibilité)
Libprog1 ISS
Libprog2 (ZARYA)
num1 1
Num Catalogue1 25544U
Num Catalogue2 98067A
An Jour Fraction 08124.35712779
moitiédérivée .00016743
sertpas1 00000-0
sertpas2 10934-3
sertpas3 0
bloc set 4105
num2 2
Catalogue Num 25544
sertpas4 51.6413
sertpas5 247.4315
sertpas6 7109
Argument 164.1587
Anomalie 306.5292
Revolution 15.75978236541456



...voilà pour moindre piste!

Bon courage dans ta quête.

Cordialement.

--
lSteph


On 13 mai, 14:30, "Sam" wrote:
Bonjour,
ma question est plus farfelue que ça et plus généraliste !
Voici le lien vers un fichier utilisé pour l'exemple (mais ce n'est qu'u n
exemple, c'est parce que j'étais en train de le faire manuellement que j e me
suis dit que ça pourrait peut être se faire automatiquement).http://cj oint.com/?fnoElbFVa1

A partir des formules écrites dans les cellules colonne B, C et D, y a t 'il
une astuce pour faire écrire en colonne E la formule globale afin d'obte nir
directement le même résultat qu'en D ?
Si l'astuce existe, peut on l'appliquer sur n'importe quel fichier dont on a
vérifié par étape les formules élémentaires ?

Cordialement
Michel


Avatar
lSteph
...mais à propos j'oublie l'autreaspect de ta question (..plus
généraliste!)
Si bien sûr on a résolu le problème "polymorphique" des chaines on
part du principe qu'avant de bidouiller la superformule
on a bien toujours les mêmes formules

Voici une voie qui devrait t'intéresser les définitions
Définir un nom (Menu insertion nom)

toto
réfère à:
=STXT(A2;3;5)

zaza
réfère à:
=SUBSTITUE(toto;".";",")

maformule
réfère à:
=cnum(zaza)

Tu n'as plus ainsiq uà écrire
dans la cellule que
=maformule

Cordialement.

--
lSteph


On 13 mai, 14:30, "Sam" wrote:
Bonjour,
ma question est plus farfelue que ça et plus généraliste !
Voici le lien vers un fichier utilisé pour l'exemple (mais ce n'est qu'u n
exemple, c'est parce que j'étais en train de le faire manuellement que j e me
suis dit que ça pourrait peut être se faire automatiquement).http://cj oint.com/?fnoElbFVa1

A partir des formules écrites dans les cellules colonne B, C et D, y a t 'il
une astuce pour faire écrire en colonne E la formule globale afin d'obte nir
directement le même résultat qu'en D ?
Si l'astuce existe, peut on l'appliquer sur n'importe quel fichier dont on a
vérifié par étape les formules élémentaires ?

Cordialement
Michel


Avatar
Modeste
Bonsour® Sam avec ferveur ;o))) vous nous disiez :

ma question est plus farfelue que ça et plus généraliste !
Voici le lien vers un fichier utilisé pour l'exemple (mais ce n'est
qu'un exemple, c'est parce que j'étais en train de le faire
manuellement que je me suis dit que ça pourrait peut être se faire
automatiquement). http://cjoint.com/?fnoElbFVa1

A partir des formules écrites dans les cellules colonne B, C et D, y
a t'il une astuce pour faire écrire en colonne E la formule globale
afin d'obtenir directement le même résultat qu'en D ?
Si l'astuce existe, peut on l'appliquer sur n'importe quel fichier
dont on a vérifié par étape les formules élémentaires ?


;o)))
oui il suffit de décrire chaque enregistrement....
pour chaque élement son type :
alpha ou num, sa position, sa longueur
=CNUM(SUBSTITUE(STXT(DECALER(Ref_Enreg;Decalage;0);Position;longueur);".";","))

au cas ou les enregistrements seraient de longueurs variables
connaitre le nom de chaque champs et sa position dans la chaine (1er, 2em 3em
element etc...)

en supposant les enregistrements de longueur et structure fixes :
http://cjoint.com/?fnttyjDAK8

PS :
à titre de haute curiosité personnelle ;o)))
ou trouve-tu ces données



--
--
@+
;o)))

Avatar
Modeste
Bonsour® Modeste avec ferveur ;o))) vous nous disiez :
PS :
à titre de haute curiosité personnelle ;o)))
ou trouve-tu ces données


http://www.n2yo.com/passes.php?s%544
http://www.n2yo.com/?s%544

--
--
@+
;o)))

Avatar
Sam
Bonjour,
c'est un TLE = Two Lines Elements

Le TLE précise les caractéristiques de l'orbite d'un satellite.
plus info ici :
http://www.obsat.com/tle.htm
http://artemmis.univ-mrs.fr/cybermeca/Formcont/mecaspa/CODE_TLE/CODE_TLE.HTM

Le TLE a été chargé à cette adresse :
http://www.celestrak.com/NORAD/elements/stations.txt
Il faudra que je pense un jour à demander au groupe comment Excel peut
récupérer
directement ces données sur la toile et les mettre dans des cellules pour
les exploiter.

nota : le TLE de l'exemple a été établi le 3/5/08 8:34 et non le 02/04/2008
08:34:16

Merci pour l'adresse du site que je ne connaissais pas (et pourtant qu'est
ce que j'ai pu Googueler !)

Cordialement
Michel

"Modeste" a écrit dans le message de news:
%
Bonsour® Sam avec ferveur ;o))) vous nous disiez :

ma question est plus farfelue que ça et plus généraliste !
Voici le lien vers un fichier utilisé pour l'exemple (mais ce n'est
qu'un exemple, c'est parce que j'étais en train de le faire
manuellement que je me suis dit que ça pourrait peut être se faire
automatiquement). http://cjoint.com/?fnoElbFVa1

A partir des formules écrites dans les cellules colonne B, C et D, y
a t'il une astuce pour faire écrire en colonne E la formule globale
afin d'obtenir directement le même résultat qu'en D ?
Si l'astuce existe, peut on l'appliquer sur n'importe quel fichier
dont on a vérifié par étape les formules élémentaires ?


;o)))
oui il suffit de décrire chaque enregistrement....
pour chaque élement son type :
alpha ou num, sa position, sa longueur
=CNUM(SUBSTITUE(STXT(DECALER(Ref_Enreg;Decalage;0);Position;longueur);".";","))

au cas ou les enregistrements seraient de longueurs variables
connaitre le nom de chaque champs et sa position dans la chaine (1er, 2em
3em element etc...)

en supposant les enregistrements de longueur et structure fixes :
http://cjoint.com/?fnttyjDAK8

PS :
à titre de haute curiosité personnelle ;o)))
ou trouve-tu ces données



--
--
@+
;o)))





Avatar
Modeste
Bonsour® Sam avec ferveur ;o))) vous nous disiez :

nota : le TLE de l'exemple a été établi le 3/5/08 8:34 et non le
02/04/2008 08:34:16


tu as tout a fait raison ;o)))

ÚTE(2000+E7;1;E8)+E9

Merci de même pour les adresses fournies que je ne connaissais pas

qu'est ce que j'ai pu Googueler ;o))!


comment Excel peut récupérer directement ces données sur la toile et les
mettre dans des cellules pour
les exploiter.


la mise à jour est quotidienne me semble-t-il ?
je dois pouvoir faire ça, faut-il encore que j'en trouve le temps ;o)))

--
--
@+
;o)))

1 2