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

6 réponses

1 2
Avatar
LSteph
Bonjour,

cela ne semble pas changer le souci,
puisqu'il faudra se fader à chaque ligne les nouvelles coordonnées.

Cordialement.

--
lSteph


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






Avatar
LSteph
Bonjour,

Sur un nouveau fichier
Menu Données
Données externes
Requête sur le Web
Tu colles l'adresse et zou
Une fois que la fenêtre s'affiche sélectionne le bloc à importer.
Execute

Tu obtiens le résultat dans la feuille
Une fois ceci réalisé si tu retournes dans données externes tu peux
paramètrer la plage de données et son actualisation.

Plus qu'à traiter tes chaines....

;-))

Mais, si "sa ferveur" trouve le temps nul doute qu'il te fera cela au
mieux.

Cordialement.

--
lSteph




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.


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

cela ne semble pas changer le souci,
puisqu'il faudra se fader à chaque ligne les nouvelles coordonnées.


Quel souci ???
il s'agit ici de décrire un enregistrement tel que rencontré dans n'importe quel
systeme de base de données,
que cela soit sur PC ou MainFrame, c'est le même fonctionnement.
cela est fait une fois, ensuite toute importation est sensée correspondre à
cette description
http://artemmis.univ-mrs.fr:80/cybermeca/Formcont/mecaspa/CODE_TLE/CODE_TLE.HTM


comment adapter cela à excel ... ???
(qui n'est pas un SGBD au sens propre)
http://cjoint.com/?fojsDBNl6O
;o)))
http://cjoint.com/?fnttyjDAK8




--
--
@+
;o)))


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


Mais, si "sa ferveur" trouve le temps nul doute qu'il te fera cela au
mieux.


vite fait alors ... !!!
;o)))

Sub Macro1()
Workbooks.OpenText Filename:= _
"http://www.celestrak.com/NORAD/elements/stations.txt", Origin:=xlMSDOS,
_
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse, Comma:úlse _
, Space:=True, Other:úlse, FieldInfo:=Array(Array(1, 1), Array(2, 1),
Array _
(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1),
Array(9, 1), Array( _
10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1),
Array(15, 1)), _
TrailingMinusNumbers:=True, Local:=true
ActiveWorkbook.SaveAs Filename:= _
ThisWorkbook.Path & "stations" & Format(Now, "yyyymmdd") & ".xls",
FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:úlse
_
, CreateBackup:úlse
End Sub--
--
@+
;o)))

Avatar
Tschuß
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


Il existe un raccourci clavier qui répond directement à ton besoin.
Tu sélectionnes la partie de ta formule dont tu veux le résultat et tu
appuies sur 'F9'
Là, le résultat de ta sélection s'affiche directement.
Mais attention ! Il faut sortir en faisant 'Echap' sinon .... et bien
essaye ;-)

Avatar
Sam
Bonjour et merci à tous.
j'ai testé la macro de Modeste, OK ça marche après avoir réglé les pb
d'espace et retour chariot.
ça m'épate !
Un petit soucis : si la moitié de la dérivée est négative, les cellules sont
décalées.(en réalité quand c'est positif il y a 2 espaces : l'espace entre
code et l'emplacement du + qui est omis)

J'ai poursuivi l'idée en utilisant l'outil de création de macro, pour mettre
la recherche dans une cellule et employer par la suite le découpage précisé
par le code.
OK ça marche .

Nota : pour l'éventuel astuce , origine du premier post , je vais continuer
à faire sans.

Encore merci
Cordialement
Michel

"Sam" a écrit dans le message de news:
482989f2$0$890$

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




1 2