convertir une partie de texte en exposant
Le
Roland Miller

Bonjour,
Par exemple il y a le texte "Pour le 1er décembre."
Je cherche à mettre le er du 1er en exposant.
- J'ai pensé faire saisir par l'usager … disons … Exp:=
erExp: dans la celule.
Par la suite par un bouton lancer une macro qui modifie Exp:erExp: en er en=
exposant.
Évidemment il manque quelque chose au code suivant. Auriez-vous une su=
ggestion? Merci à l'avance.
Range("A1").Replace what:="Exp:*Exp:", replacement:=Superscript("*")
Par exemple il y a le texte "Pour le 1er décembre."
Je cherche à mettre le er du 1er en exposant.
- J'ai pensé faire saisir par l'usager … disons … Exp:=
erExp: dans la celule.
Par la suite par un bouton lancer une macro qui modifie Exp:erExp: en er en=
exposant.
Évidemment il manque quelque chose au code suivant. Auriez-vous une su=
ggestion? Merci à l'avance.
Range("A1").Replace what:="Exp:*Exp:", replacement:=Superscript("*")
Bonjour,
Essaie comme cela :
'------------------------------
Dim P As Long
With Range("G1") 'En G1, le texte : "Le 1er du mois"
'P = la position de er dans la chaine de caractères
P = Application.Find("er", .Value, 1)
'Mise en exposant à partir de la position p pour 2 caractères
With .Characters(Start:=P, Length:=2).Font
.Superscript = True
End With
End With
'------------------------------
MichD
Là, je ne comprends pas. Tu veux mettre en exposant un texte, mais tu
n'as aucun repère pour déterminer ce que sera ce texte, sa longueur, etc.
Moi, je ne sais pas dire à une macro quelque chose dont je n'arrive pas
à définir.
MichD
Au lieu de faire une macro pour cela, pourquoi ne pas dire aux usagers
comment procéder?
A ) Sélection du texte à mettre en exposant dans une cellule
B ) Clic droit sur la cellule, commande "Format de cellule"
C ) Cocher la case à cocher "Exposant".
Si tu tiens à une macro, celle-ci va mettre en "Exposant" le mot suivant
l'expression "exp:". Il pourrait en avoir plusieurs dans la même
cellule. SEUL le mot attaché suivant l'expression "exp:" sera mis en
exposant, comme dans l'expression "exp:toto". Si tu veux mettre
plusieurs mots en exposant dans la même cellule, chacun de ces mots doit
être précédé par "exp:"
'-------------------------------------
Sub test()
Dim D As Long, A As Long, F As Long
With ActiveCell
If .Value <> "" Then
For A = 1 To Len(.Value)
D = InStr(A, .Value, "exp", vbTextCompare)
If D = 0 Then Exit Sub
F = Application.Find(" ", .Value, D)
With .Characters(Start:=D + 4, Length:=F - (D + 4)).Font
.Superscript = True
End With
A = F
D = 0
Next
End If
End With
End Sub
'-------------------------------------
MichD
MichD