Discussion: Formule chimique
Afficher un message
Vieux 15/03/2009, 10h31   #2 (permalink)
JNP
XLDnaute Barbatruc
 
Avatar de JNP
 
Date d'inscription: août 2007
Messages: 2 597
Par défaut Re : Formule chimique

Bonjour Magmatique ,
Voici une sub mettant en indice TOUS les chiffres de ta formule dans la cellule active (attention à ne pas en sélectionner plusieurs, je n'ai pas mis de test pour cela).
Code:
Dim I As Integer, J As Integer
J = Len(ActiveCell)
For I = 1 To J
If IsNumeric(Mid(ActiveCell, I, 1)) = True Then
ActiveCell.Characters(Start:=I, Length:=1).Font.Subscript = True
End If
Next I
Par contre, pour laisser en normal ceux qui sont devant, pas évident, il faudrait que ta nomenclature soit plus précise... Si tu ne mets un chiffre devant que pour le 1er caractère, il te suffit de modifier
Code:
For I = 2 to J
si tu mets un blanc avant le chiffre au milieu, il va falloir compliquer le test, mais tu aura de toute façon un problème sur C14 par rapport à 14C car dans les 2 cas, 4 sera précédé par 1 et donc tu ne saura pas si c'est un blanc avant ou une lettre, ou il faudra encore complexifier le test, de même pour 100 etc.
Teste déjà ce code, après...
Bon dimanche
__________________
« Donnez-moi un point d'appui et je soulèverai le monde » Archimède
« L'important, ce n'est pas de savoir se servir des outils, c'est de savoir que les outils existent » JNP
http://jnp63.labrute.fr
JNP est déconnecté   Réponse avec citation