Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/08/2011, 12h07   #1
Membre éclairé
 
Avatar de ledisciple
 
Homme François
observateur de nuage niveau 2.3
Inscription : août 2008
Messages : 546
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 27
Localisation : France

Informations professionnelles :
Activité : observateur de nuage niveau 2.3

Informations forums :
Inscription : août 2008
Messages : 546
Points : 313
Points : 313
Par défaut Mettre tous les chiffres en indices sur une colonne

Bonjour

J'ai un tableau avec toute une colonne où je dois mettre les formules moléculaires de produits chimiques ( genre C2H4O, mais avec 2 et 4 en indice). Je sais comment le faire "à la main", mais pas de façon automatique, et je n'y connais rien aux macros ...

Si vous aviez une idée ...

Merci d'avance
__________________
_____________________________________________
Tours Football Club - Turonorum Civitas Libera
ledisciple est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 14h02   #2
Membre confirmé
 
Inscription : juillet 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 209
Points : 219
Points : 219
Bonjour,

c'est pas trop compréhensible genre C2H4O, mais avec 2 et 4 en indice ?
Si tu sais le faire en manuel , tu peux mettre l'enregistreur de macro ( macro -> nouvelle macro ...) , exécuter les opérations manuelles.
En fin d'enregistrement -> macro -> arrêter l'enregistrement.

ensuite macro , éditer et tu peux t'inspirer du code généré.
CodeFacile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 14h18   #3
Membre éclairé
 
Avatar de ledisciple
 
Homme François
observateur de nuage niveau 2.3
Inscription : août 2008
Messages : 546
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 27
Localisation : France

Informations professionnelles :
Activité : observateur de nuage niveau 2.3

Informations forums :
Inscription : août 2008
Messages : 546
Points : 313
Points : 313
oui, mais bon, c'est pas facile de modifier un code, quand on ne connait pas les bases .. En gros, c'est pour une colonne donnée, mettre tous les chiffres en indices ...
__________________
_____________________________________________
Tours Football Club - Turonorum Civitas Libera
ledisciple est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 14h43   #4
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 890
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 890
Points : 7 163
Points : 7 163
Bonjour,

Ci dessous une procèdure qui fait cela

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub ConvertIndice(Col As Integer)
 
Dim i As Long
Dim ICar As Integer
Dim Rg As Range
 
For i = 1 To ActiveSheet.Columns(Col).End(xlDown).Row
 
    Set Rg = ActiveSheet.Cells(i, Col)
 
    For ICar = 1 To Len(Rg.Value)
 
        If IsNumeric(Mid(Rg.Value, ICar, 1)) Then
            Rg.Characters(ICar, 1).Font.Subscript = True
        End If
 
    Next ICar
 
Next i
 
End Sub
A executer comme suit pour la colonne C (3)
Code :
1
2
3
4
5
Sub Lancement()
 
ConvertIndice 3
 
End Sub
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 15h09   #5
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 310
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 310
Points : 2 667
Points : 2 667
Bonjour,
Voici un code qui travaille sur un Selection de cellules (A adapter selon test besoins)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub cInd()
 Dim Rng As Range, c As Byte
 For Each Rng In Selection
  With Rng
   With .Font
   .Strikethrough = False
   .Superscript = False
   .Subscript = False
   End With
   For c = 1 To Len(.Value)
    Select Case Asc(Mid(.Value, c, 1))
     Case 48 To 57
      .Characters(Start:=c, Length:=1).Font.Subscript = True
    End Select
   Next c
  End With
 Next Rng
End Sub
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 15h29   #6
Membre éclairé
 
Avatar de ledisciple
 
Homme François
observateur de nuage niveau 2.3
Inscription : août 2008
Messages : 546
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 27
Localisation : France

Informations professionnelles :
Activité : observateur de nuage niveau 2.3

Informations forums :
Inscription : août 2008
Messages : 546
Points : 313
Points : 313
Merci beaucoup à tous pour votre aide, mais j'ai aussi des compsition comme celle ci FeSO4, 7H2O (avec un grand 7) et j'ai fini de tout faire à la main.
J'espère que cela pour aider d'autres personnes...
__________________
_____________________________________________
Tours Football Club - Turonorum Civitas Libera
ledisciple est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h57.


 
 
 
 
Partenaires

Hébergement Web