![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: mars 2009
Messages: 8
|
Bonjour
Je construit une base de données avec dans une colonne le nom chimique des formules: ex: H2SO4 avec 2 et 4 en indice. Le formulaire de saisie fait en VBA ne peut prendre dans un TextBox ce genre d'écriture. Je veux donc créer un module( sait pas trop à quoi ça sert mais vu sur le web) piloté par un bouton situé sur la feuille 1 (par exemple) ou dans la barre d'outils qui permet de mettre les chiffres de la cellule en indice. Dans une formule chimique seuls les chiffres suivants des lettres sont en indice, ceux qui précedent sont sur la même ligne. Je veux faire ceci pour éviter de faire à chaque fois clic droit sur la cellule, puis format, police, indice. J'ai trouvé sur sur le web ce fichier (vieux) mais je n'arrive pas à m'en sortir, et ce sont des macros pour Word. Je vous remercie. |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: août 2007
Localisation: Vosges _______ Seven - Excel 2007
Messages: 2 610
|
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 Code:
For I = 2 to J 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 |
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Accro
Date d'inscription: octobre 2005
Localisation: Paris
Messages: 1 066
|
Bonjour le fil, JNP, magmatique
Une petite variante, de la Sub de JNP, qui ne met pas en indice un nombre en début de chaine Ainsi dans "4 Fe", le 4 ne sera pas mis en indice Code:
Dim i%, fin As Integer
fin = Len(ActiveCell)
Application.ScreenUpdating = False
For i = Len(CStr(Val(ActiveCell))) + 1 To fin
If IsNumeric(Mid(ActiveCell, i, 1)) = True Then ActiveCell.Characters(i, 1).Font.Subscript = True
Next
Application.ScreenUpdating = True
|
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: mars 2009
Messages: 8
|
[url=http://www.hiboox.fr/go/images/divers/indice,6f6baa4c47f7b16c51f39d89016c889c.bmp.html]
[/urlVoici un exemple le 4 et 2 sont bien en indice, mais le 6 ne doit pas y être. J'ai testé la 2eme indication. |
|
|
|
|
|
#7 (permalink) | |
|
XLDnaute Accro
Date d'inscription: octobre 2005
Localisation: Paris
Messages: 1 066
|
Re,
Citation:
En reprenant ton exemple : avec un espace entre le 4 et le 6, le 4 sera en indice et pas le 6. Si ça te conviens, je te code ça. (Vois la PJ) A plus Dernière modification par soenda ; 15/03/2009 à 21h24. |
|
|
|
|
|
|
#8 (permalink) |
|
XLDnaute Accro
Date d'inscription: octobre 2005
Localisation: Paris
Messages: 1 066
|
Re,
Le bout de code suivant règle le cas précité. Code:
Dim i%, fin As Integer
With ActiveCell
If IsNumeric(.Value) Then Exit Sub
fin = Len(.Value)
For i = Len(CStr(Val(.Value))) + 1 To fin
If IsNumeric(Mid(.Value, i, 1)) = True And Mid(.Value, i - 1, 1) <> " " Then _
.Characters(i, 1).Font.Subscript = True
Next
End With
A plus Dernière modification par soenda ; 18/03/2009 à 20h23. Motif: Ajout PJ |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| Symbole et Composition Chimique | David XLD | Applications disponibles dans l'espace de téléchargement | 0 | 15/01/2009 23h41 |
| Formule pour modifier une cellule avec condition d'une autre formule | ozzy75 | Forum Excel | 7 | 18/09/2007 23h48 |
| Formule dépendant de la derniere cellule d'une colonne + formule sur une durée | mrbean2 | Forum Excel | 8 | 17/07/2006 01h50 |
| fonction VBA qui inscrit la valeur d'une formule au lieu de la formule | man | Forum Excel Downloads - Archives | 4 | 29/09/2004 16h40 |
| Formule chimique et USF | Le Fnake | Forum Excel Downloads - Archives | 2 | 19/08/2003 13h11 |