Mise en forme exposant ou indice de nombres automatique

Bonjour

Débutant en VBA, je souhaiterais savoir si il serais possible de créer une macro pour que les carctéres encadré par "^" s'affiche en exposant et les caractéres encadrés par "_" en indices.

exemple : 2^2^ donnerait 2² .

Vous remerciant par avance de votre aide.

Cordialement

Bonjour Supnet, bonjour le forum,

Pour les exposants, sélectionne la plage sur laquelle tu veux agir et lance le code ci-dessous :

Sub Expo()
Dim C As Range 'déclare la variable C (Cellule)
Dim CD As Byte 'déclare la variable CD (Caractère de départ)
Dim CF As Byte 'déclare la variable CF (Caractère de Fin)

For Each C In Selection 'boucle sur toutes les cellules C de la sélection
    CD = InStr(1, C.Value, "^", vbTextCompare) 'définit le caractère de départ (le premier ^)
    CF = InStr(CD + 1, C.Value, "^", vbTextCompare) 'définit la caractère de fin (le second ^)
    C.Value = Replace(C.Value, "^", "") 'supprime les caractères ^ 
    C.Characters(CD, (CF - CD)).Font.Superscript = True 'exposant pour les caractères CD as CF
Next C 'prochaine cellule de la boucle
End Sub

Idem pour les indices la même macro où tu remplaces le caractère "^" par "_" et Superscript par Subscript...

Rechercher des sujets similaires à "mise forme exposant indice nombres automatique"