[Résolu] Extraire la formule (format texte) d'une cellule

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
louishamaide
NOOuvel adepte
NOOuvel adepte
Messages : 21
Inscription : 26 juin 2012 11:52

[Résolu] Extraire la formule (format texte) d'une cellule

Message par louishamaide »

Bonjour tout le monde,

J'ai une question pour vous, car je cherche depuis un moment sans trouver:

Je cherche une fonction qui extrait la formule d'une cellule pour me l'afficher sous forme de texte.

Merci.
Dernière modification par Oukcha le 20 juil. 2012 05:57, modifié 1 fois.
Raison : Balisage
OpenOffice 3.2.1 Mac OS X 10.6.8
Avatar de l’utilisateur
alhazred
ManitOOu
ManitOOu
Messages : 3028
Inscription : 30 avr. 2011 23:08
Localisation : Casablanca (Maroc)

Re: Extraire la formule (format texte) d'une cellule

Message par alhazred »

Bonjour,

Tout simplement

Code : Tout sélectionner

=FORMULE(A1)
À bientôt

LibO 4.1.5.3 et AOO 4.0.1 sous Windows 7, MRI et SDK pour les macros.

Et la sauvegarde incrémentée, c'est sympa !
louishamaide
NOOuvel adepte
NOOuvel adepte
Messages : 21
Inscription : 26 juin 2012 11:52

Re: Extraire la formule (format texte) d'une cellule

Message par louishamaide »

C'est vrai que c'est simple, mais je cherche à avoir la formule sans le = pour pouvoir l'utiliser dans une autre formule après... et STXT() me transforme le résultat en format text qui n'est alors plus utilisable par DECALER().

Vous verriez comment faire?
OpenOffice 3.2.1 Mac OS X 10.6.8
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26032
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: Extraire la formule (format texte) d'une cellule

Message par Dude »

Salut,
louishamaide a écrit :mais je cherche à avoir la formule sans le = pour pouvoir l'utiliser dans une autre formule
Dans un tableur, on ne récupère pas une formule mais un résultat.
Donc, ne voyant pas ce que tu cherches à faire et quel est le but final de ce genre de manipulation :
Image
Comment joindre un fichier au format ODF
Veillez également à dépersonnaliser votre fichier joint.
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 6070
Inscription : 02 janv. 2009 23:56

Re: Extraire la formule (format texte) d'une cellule

Message par Jean-Louis Cadeillan »

louishamaide a écrit :n'est alors plus utilisable par DECALER().
Si tu veux utiliser DECALER(), les arguments de cette fonction sont soit une référence à une cellule ou une plage soit des nombres, donc ta formule sans le =, pourquoi ne la mets-tu pas directement dans DECALER() ?
Mais peut-être n'ai-je rien compris et mes dons de divination étant au plus bas ces temps-ci...

Cordialement
Jean-Louis
LibO 24.2.7.2 (x64 et Java 1.8.0_461) et AOO 4.1.15 (et Java x32 1.8.0_431), Windows 7 Édition Intégrale 64 SP1
louishamaide
NOOuvel adepte
NOOuvel adepte
Messages : 21
Inscription : 26 juin 2012 11:52

Re: Extraire la formule (format texte) d'une cellule

Message par louishamaide »

Bonjour,

Tu as bien compris mon probleme Jean-Louis. J'ai une case dans mon onglet 1 qui a pour valeur une case dans l'onglet 2. Je veux récuperer la référence qu'utilise case de l'onglet 1, soit l'adresse de la case de l'onglet 2, pour faire un DECALER() de quelques lignes et récuperer les valeurs désirés (qui se trouve donc dans l'onglet 2).

Cela a pour but de simplifier la vie de celui qui utilisera le fichier excel plutard car il n'aura plus qu'à faire "=" et cliquer sur la case désiré de l'onglet 2, pour qu'excel remplisse le reste de la page de l'onglet 1.

Le problème c'est que j'ai dans le reste de l'onglet 1 j'ai pour le moment des

=DECALER(STXT(FORMULE("adresse_de_la_case_de_l'onglet_1");1;un_chiffre_très_grand_au_hasard);chiffre_allant_de_2_à_15_pour_récuperer_au_fur_et_à_mesure_toutes_les_informations;0)

Et cela me renvoie une erreur... J'ai l'impression que STXT() donne un format texte uniquement comme valeur de sortie, et donc DECALER() ne reconnait pas l'adresse.
COMMENT FAIRE? Est-ce que vous comprenez mieux à présent mon problème?

(PARDON DE NE POUVOIR METTRE MON FICHIER EN LIGNE MAIS C'EST POUR MON STAGE ET JE NE PEUX PAS LE DONNER POUR L'INSTANT).
OpenOffice 3.2.1 Mac OS X 10.6.8
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 6070
Inscription : 02 janv. 2009 23:56

Re: Extraire la formule (format texte) d'une cellule

Message par Jean-Louis Cadeillan »

Pour transformer un texte en référence, utilise la fonction INDIRECT().
A+
Jean-Louis
LibO 24.2.7.2 (x64 et Java 1.8.0_461) et AOO 4.1.15 (et Java x32 1.8.0_431), Windows 7 Édition Intégrale 64 SP1
Avatar de l’utilisateur
Don Corleone
MOOdérateur
MOOdérateur
Messages : 629
Inscription : 20 avr. 2010 14:48

Re: Extraire la formule (format texte) d'une cellule

Message par Don Corleone »

louishamaide a écrit : (PARDON DE NE POUVOIR METTRE MON FICHIER EN LIGNE MAIS C'EST POUR MON STAGE ET JE NE PEUX PAS LE DONNER POUR L'INSTANT)
Merci de ne pas écrire en majuscule qui sont assimilées à des hurlements sur internet !!

Il vous appartient donc de fabriquer un fichier-test anonymisé et simplifié, restreint uniquement à la problématique exposée, afin de ne pas divulguer d'informations sensibles.
C'est à vous de faire cet effort pour faciliter le travail des bénévoles qui vous répondent.
Comment faire http://user.services.openoffice.org/fr/ ... 246#p85752

Cela augmentera vos chances de réponse en évitant d'avoir à recréer quelque chose qui au final, pourrait ne pas convenir.

Bien cordialement,
Votre question a trouvé sa solution ?
Balisez votre fil [Résolu] ou [Issue] dans le titre de votre 1er message.

Tout sur le fonctionnement du forum
Avatar de l’utilisateur
Loopingss
InconditiOOnnel
InconditiOOnnel
Messages : 783
Inscription : 17 déc. 2008 01:50

Re: Extraire la formule (format texte) d'une cellule

Message par Loopingss »

louishamaide a écrit :.... le fichier excel plutard .... qu'excel remplisse le reste de la page de l'onglet 1....
Etes vous sûr d'être sur le bon forum ??????????????
COOordialement.
Jeff
GourOOu
GourOOu
Messages : 9956
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: Extraire la formule (format texte) d'une cellule

Message par Jeff »

Bonjour,

Si tu utilise la fonction FORMULE pour définir la référence de la fonction DECALER, tu auras forcément le signe = qui s'affiche, il faut donc récupérer déjà la partie à droite sans le signe 'égal' ; à noter également que la fonction FORMULE ne s'utilise pas avec des guillemets.


Utilise déjà STXT, et regarde si tu obtiens une adresse valide ; si c'est le cas, comme le conseille Jean-Louis, englobe alors cette fonction STXT dans une fonction INDIRECT afin que le texte soit interprété comme une adresse.

Il faut donc commencer par déboguer la partie suivante de la formule :

Code : Tout sélectionner

STXT(FORMULE("adresse_de_la_case_de_l'onglet_1");1;un_chiffre_très_grand_au_hasard)
louishamaide a écrit :PARDON DE NE POUVOIR METTRE MON FICHIER EN LIGNE MAIS C'EST POUR MON STAGE ET JE NE PEUX PAS LE DONNER POUR L'INSTANT
:arrow:
Don Corleone a écrit :Il vous appartient donc de fabriquer un fichier-test anonymisé et simplifié, restreint uniquement à la problématique exposée, afin de ne pas divulguer d'informations sensibles.
C'est à vous de faire cet effort pour faciliter le travail des bénévoles qui vous répondent.
Comment faire http://user.services.openoffice.org/fr/ ... 246#p85752
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.15 / Debian 12.10 "bookworm" / Xfce
louishamaide
NOOuvel adepte
NOOuvel adepte
Messages : 21
Inscription : 26 juin 2012 11:52

[Résolu] Re: Extraire la formule (format texte) d'une cellul

Message par louishamaide »

Alors je vais répondre dans l'ordre.
Don Corleone, j'aurai fini par créer un fichier anonyme mais bon les membres du sites ont compris ma problématique.
Loopings, tu as raison c'est moi, j'ai encore le reflex de dire et donc écrire excel alors qu'effectivement je parle bien d'open office. Désolé :roll:

Pour le dernier message, malheureusement cette solution j'en avais eu l'idée, mais après je voulais faire un DECALER() de cette formule, et malheureusement (fallait essayer pour savoir je pense), la donnée n'est pas comprise comme une formule de case, mais comme du texte je pense. En tout cas bloque sur le resultat de cette très bonne idée que tu as eu.

Merci de l'effort, j'ai fini par écrire le nom de ce que je cherchait et j'ai mis un rechercheh() ensuite. Mon patron a accepté la solution donc tout va bien :)
OpenOffice 3.2.1 Mac OS X 10.6.8
Avatar de l’utilisateur
alhazred
ManitOOu
ManitOOu
Messages : 3028
Inscription : 30 avr. 2011 23:08
Localisation : Casablanca (Maroc)

Re: Extraire la formule (format texte) d'une cellule

Message par alhazred »

Bonjour,

La balise [Résolu] et la coche verte sont à mettre dans le 1er message du fil. Même remarque pour ce fil.
À bientôt

LibO 4.1.5.3 et AOO 4.0.1 sous Windows 7, MRI et SDK pour les macros.

Et la sauvegarde incrémentée, c'est sympa !