[Résolu] mettre toute une colonne en exposant

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.
alexman95
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 04 oct. 2018 16:18

[Résolu] mettre toute une colonne en exposant

Message par alexman95 »

Bonsoir,

Dans une colonne, je fais glisser plusieurs nombres et j'aimerais que tous ces nombres apparaissent en exposant.

J'ai bien noté une astuce que l'on m'a donnée pour un problème similaire sur ce forum: insérer caractère spéciaux avec la police sergoe ui mais cela devient vite fastidieux si l'on a plusieurs cases à remplir avec différents exposants, ce que je me suis malgré tout résigné à faire (car on ne peut pas glisser de formule: l'exposant n'étant pas considéré comme une valeur je suppose).

Y'aurait-il une astuce bien plus pratique?
Dernière modification par alexman95 le 11 oct. 2018 13:09, modifié 1 fois.
open office 4.1.6
windows 10
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5752
Inscription : 02 janv. 2009 23:56

Re: mettre toute une colonne en exposant

Message par Jean-Louis Cadeillan »

Bonsoir,
De ce que je saisis, tu voudrais une transformation automatique de chiffres en exposants. Comme tu ne précises pas combien de chiffres sont concernés, je te propose un cas simple où une variable U est suivi d'un chiffre de 0 à 9. Les codes (unicode) des exposants correspondants sont 2070, 00B9, 00B2, 00B3, 2074, 2075, 2076, 2077, 2078 et 2079 (en hexadécimal), soit 8304, 185, 178, 179, 8308, 8309, 8310, 8311, 8312 et 8313 en décimal. Si en A1 tu as par exemple U8, en B1, tu peux mettre :

Code : Tout sélectionner

=GAUCHE(A1)&RECHERCHEV(DROITE(A1);$C$2:$F$11;4;0)
GAUCHE(A1) récupère U, DROITE(A1) récupère 8 et RECHERCHEV(...) va récupérer ⁸ à partir de 8. Tu peux ensuite recopier cette formule vers le bas, pour d'autres valeurs de Uᵇ, 0 ≤ b ≤ 9.
Voir l'exemple joint (où les colonnes D et E ne sont pas indispensables à la correspondance).
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
Avatar de l’utilisateur
OOo - Ekel
SuppOOrter
SuppOOrter
Messages : 1273
Inscription : 10 nov. 2006 15:04
Localisation : F-Oise

Re: mettre toute une colonne en exposant

Message par OOo - Ekel »

Bonjour,

Je ne comprends pas du tout la même chose...

Un exemple serait plus parlant ou une modification du titre est nécessaire car pour moi :

Mettre une colonne en exposant -> formatage simple des cellules de la colonne en exposant.

Cordialement.
Ekel

KUbuntu Jammy Jellyfish (22.04) : LibreOffice 24.2.0.3 Officielle
AMD Ryzen 5 5600G
AMD Radeon RX 6650 XT
22" + 22"
16 Go
____________________
Pour les règles du jeu.
Pour marquer Résolu.
Pour joindre un fichier.
alexman95
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 04 oct. 2018 16:18

Re: mettre toute une colonne en exposant

Message par alexman95 »

Bonjour et merci à tous les 2 de vous être penchés sur mon problème,

Effectivement, la réponse de Jean-Louis ne correspond pas à ma demande: je ne demande pas à utiliser des formules avec les exposants: je cherchais simplement à mettre tous les nombres d'une colonne en exposants, comme indiqué dans le titre.

J'en viens à la réponse d' Ekel qui correspond bien à ma demande... mais je n'y arrive pas (peut-être que je ne fais pas la bonne manip mais lorsque je sélectionne la colonne ou la cellule: je ne vois pas l'option de mettre en exposant)
open office 4.1.6
windows 10
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5752
Inscription : 02 janv. 2009 23:56

Re: mettre toute une colonne en exposant

Message par Jean-Louis Cadeillan »

Bonjour,
Effectivement l'attribut Exposant ne fait pas partie des attributs de style d'une cellule. Visiblement, on ne peut le changer qu'une fois dans la cellule et les chiffres sélectionnés, soit par le raccourci Maj+Ctrl+P soit par le menu contextuel Style > Exposant.
D'où l'intérêt de la formule que je te proposais, encore faudrait-il, pour l'adapter, que tu nous dises :
  • l'étendue des nombres possibles : combien de chiffres possibles par nombre ?
  • est-ce que ces nombres, une fois en exposant, serviront à des calculs (puissance ou autres) ?
Le changement vers des caractères spéciaux ou la mise en style exposant ne permet plus le calcul : les nombres sont considérés comme du texte : la différence, c'est que les nombres en style exposant peuvent être interprétés comme de vrais nombres grâce à la fonction CNUM(), alors que les caractères spéciaux, comme ¹²³ ne sont pas reconnus par CNUM().
Cordialement,
Jean-Louis
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
alexman95
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 04 oct. 2018 16:18

Re: mettre toute une colonne en exposant

Message par alexman95 »

Ok, je comprends mieux pourquoi je galère. Il s'agirait de faire une sorte de fiche sur les calculs de puissance niveau collège, avec des puissances et des nombres aléatoires.

Je ne pensais pas devoir utiliser les puissances en tant que nombre mais c'est vrai que pour présenter une correction automatique, ce serait plus pratique. les puissances pourront être négatives, à 2 chiffres aussi.

Voilà ce que je peux dire pour l'instant, je n'en suis qu'au tout début de la réalisation. J'ai joint le fichier mais il est très loin du résultat final. Seule la colonne A est censée s'afficher.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
open office 4.1.6
windows 10
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5752
Inscription : 02 janv. 2009 23:56

Re: mettre toute une colonne en exposant

Message par Jean-Louis Cadeillan »

Bonsoir,
En reprenant ton fichier, j'ai ajouté des colonnes (A, B, C, D, qui peuvent être masquées) pour des nombres au hasard pris dans la colonne J, en colonne E, le problème posé dans une présentation classique des puissances en exposant, en F la solution qui peut être cachée ou mise ailleurs, en H et I, la table de correspondance pour l'écriture des formules de la colonne E. Deux formules proposées, Maj+Ctrl+F9 pour de nouveaux problèmes. Selon les problèmes posés, les colonnes D voire C ne serviront pas.
Voir ci-joint.
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
alexman95
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 04 oct. 2018 16:18

Re: mettre toute une colonne en exposant

Message par alexman95 »

Dans un premier temps, merci de m'aider, mais j'en reviens toujours au même problème: l'affichage d'exposant: la solution devra s'afficher sous la forme a puissance n.
En bidouillant, effectivement, j'arrive à faire apparaître les valeurs mais je ne sais pas comment en mettre une en exposant au final.

ET ça m'énerve :fou: de devoir contourner ainsi le problème alors qu'il s'agit simplement de mettre des nombres en exposant. Peut-être qu'une macro pourrait m'aider mais je n'ai pas encore compris le principe de fonctionnement de celles-ci et je ne pensais pas en avoir besoin pour ça.

Par exemple, dans le fichier joint: je voudrais que les solutions en B de type L1&F1 me mettent f1 en exposant. Lorsque je sélectionne F1; je peux le mettre en exposant mais dès que je valide; il retourne en nombre classique grrrrrrr

D'ailleurs autre problème au passage, j'aimerais que les nombres négatifs apparaissent entre parenthèses: ils le sont dans L mais pas dans A. re grrrrrrrrrr
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
open office 4.1.6
windows 10
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9252
Inscription : 28 août 2010 08:45

Re: mettre toute une colonne en exposant

Message par micmac »

Bonjour,
[b][color=#404080]alexman95[/color][/b] a écrit :D'ailleurs autre problème au passage
Autre problème qui doit faire l'objet d'un autre sujet.
La règle n° 7 stipule qu'il ne faut mettre qu'une question par fil.

Cordialement.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: mettre toute une colonne en exposant

Message par zeguedon »

Bonjour,

Regarde si ce lien répond à tes attentes : [Résolu][Calc] Fonction Exposant

A+
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
alexman95
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 04 oct. 2018 16:18

Re: mettre toute une colonne en exposant

Message par alexman95 »

Bonjour zeguedon, on se rapproche effectivement de ce que j'attends avec cette fonction. Petit hic, le moins s'affiche en 0 en exposant et non en moins.
open office 4.1.6
windows 10
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: mettre toute une colonne en exposant

Message par zeguedon »

Bonjour,
alexman95 a écrit :Petit hic, le moins s'affiche en 0 en exposant et non en moins.
Effectivement ! J'ai corrigé le code dans le fil initial et ajouté un fichier corrigé à la suite : https://forum.openoffice.org/fr/forum/v ... 48#p318448

A+
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
alexman95
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 04 oct. 2018 16:18

Re: mettre toute une colonne en exposant

Message par alexman95 »

Re, j'ai essayé d'appliquer la fonction ou de télécharger le fichier mais les puissances ne s'affichent pas correctement: je ne sais pas si j'ai fait une mauvaise manip ou s'il y a simplement un souci avec la fonction. C'est comme si les caractères ne correspondaient pas. (mauvais codes?).
open office 4.1.6
windows 10
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: mettre toute une colonne en exposant

Message par zeguedon »

alexman95 a écrit :je ne sais pas si j'ai fait une mauvaise manip ou s'il y a simplement un souci avec la fonction.
Il faut télécharger le fichier (pas simplement l'ouvrir directement à partir de ton navigateur), et lorsqu'il est ouvert, après avoir autorisé les macros à s'exécuter, est-ce tu vois la même chose que cela ? :
EXPO.png
Si tu ne vois pas cela, fais nous une capture d'écran de ce que tu vois. Merci

A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
alexman95
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 04 oct. 2018 16:18

Re: mettre toute une colonne en exposant

Message par alexman95 »

Voilà l'écran que j'obtiens
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
open office 4.1.6
windows 10
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: mettre toute une colonne en exposant

Message par zeguedon »

Ok, je crois comprendre ce qu'il se passe mais je n'ai pas Windows pour tester (je reviendrai sur le problème ultérieurement). En attendant, teste ce fichier, il devrait fonctionner mais avec un affichage des exposants un peu décalés les uns par rapport aux autres :
Expo2.png
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5752
Inscription : 02 janv. 2009 23:56

Re: mettre toute une colonne en exposant

Message par Jean-Louis Cadeillan »

Bonsoir,
Ci-joint une solution qui utilise une expression nommée comportant une fonction de concaténation CONCAT(). C'est une expression matricielle. La mise en œuvre est simple : il suffit de mettre =E dans la cellule à droite du nombre à transcrire en exposant et de valider par Ctrl+Maj+Entrée.
S'il y a une colonne de nombres à transcrire, il suffit de recopier le premier par un cliquer-glisser en appuyant simultanément sur Ctrl, ou encore en double-cliquant sur le coin inférieur droit de la cellule en appuyant simultanément sur Ctrl.
Pour éviter la « danse des exposants » (exposants pas parfaitement alignés), utiliser une police qui a un groupe de caractères « Indices et exposants », comme Segoe UI.
Voir la mise en œuvre ci-joint.
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
alexman95
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 04 oct. 2018 16:18

Re: mettre toute une colonne en exposant

Message par alexman95 »

Re,

Finalement, la fonction donnée par zeguedon fonctionne bien et effectivement, Jean-Louis, le fait de passer en sergoe UI permet d'éviter les différentes hauteurs d'exposants.

Par contre, Jean-louis; je n'ai pas réussi à "transférer" la fonction de ton fichier sur le mien: ça marche sur ton fichier que j'ai téléchargé mais je n'ai pas réussi sur le mien. Ceci-dit, je n'ai pas trop cherché non plus étant donné que la fonction expo proposée a l'air de fonctionner parfaitement: je vais me satisfaire de celle-ci.

Merci à vous, je pense qu'on peut dire que le sujet est clos. :D
open office 4.1.6
windows 10