Formule ne récupère pas un exposant dans une valeur saisie

2 réponses
Avatar
rmill...
Bonjour.

Dans la cellule A1 j'ai la valeur Demo123. Mais le 123 est en exposant. Avec le bouton droit de la souris et dans format de cellule j'ai placé le 123 en exposant en cochant la case Exposant.

Dans la cellule B1 j'ai la formule =A1.

Mais alors le résultat donne Demo123 mais le 123 n'est pas en exposant. Existe t'il une façon de récupérer le texte tel quel donc avec les 123 en exposant?

Merci Í  l'avance.

2 réponses

Avatar
MichD
Le 11/02/21 Í  17:14, a écrit :
Bonjour.
Dans la cellule A1 j'ai la valeur Demo123. Mais le 123 est en exposant. Avec le bouton droit de la souris et dans format de cellule j'ai placé le 123 en exposant en cochant la case Exposant.
Dans la cellule B1 j'ai la formule ¡.
Mais alors le résultat donne Demo123 mais le 123 n'est pas en exposant. Existe t'il une façon de récupérer le texte tel quel donc avec les 123 en exposant?
Merci Í  l'avance.

Bonjour,
Il n'y a aucune fonction d'Excel capable de faire cela sauf peut-être la
version 2019 que je n'ai jamais testée. (Ce serait très surprenant!).
Cependant, c'est réalisable en vba. Un petit exemple,
Dans la cellule A1 : Demo123, pour mettre Demo en exposant,
après avoir dénombré le nombre de caractères Í  mettre en exposant,
tu peux écrire ceci :
'-----------------------
Sub test()
With Range("A1")
.Characters(Start:=1, Length:=Len(.Value) - 3).Font.Superscript = True
End With
End Sub
'-----------------------
MichD
Avatar
MichD
Le 11/02/21 Í  18:12, MichD a écrit :
Sub test()
With Range("A1")
    .Characters(Start:=1, Length:=Len(.Value) - 3).Font.Superscript = True
End With
End Sub

Un autre petit exemple de code:
Suppose que tu veux copier le contenu de la cellule A1 vers la cellule
A2 et reproduire en A2, tous les caractères en exposant de la cellule A1
en A2 peu importe la place que ce caractère occupe en A1
'------------------------------------------
Sub test()
Dim A As Long
With Worksheets("Feuil1")
With .Range("A1")
.Range("A2") = .Value
For A = 1 To Len(.Value)
If .Characters(Start:=A, Length:=1).Font.Superscript = True
Then
Worksheets("Feuil1").Range("A2").Characters(Start:=A, _
Length:=1).Font.Superscript = True
End If
Next
End With
End With
End Sub
'------------------------------------------
MichD