Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Compter en VBA à partir de la fin.

Vidralta

XLDnaute Nouveau
Bonsoir tout le monde

Je viens de découvrir ce forum, et le trouvant fort interessant, je m'y suis inscrit en espérant trouver mon bonheur et peut-etre meme satisfaire celui de quelqu'un d'autre en lui proposant de l'aide !!!

Mon probléme se trouve dans ce code :

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Right(Target.Value, 2) = "m3" Then
    With Target.Characters(Start:=2, Length:=1).Font
        .Superscript = True
    End With
End If
End Sub

Mon but est de transformer de le dernier caractére en exposant :
Ce code donne pour exemple :

Si je tape : m3 le trois se transforme en exposant (logique d'aprés le code!)
Mais lorsque je tape : 15m3 j'aimerai que ce soit le 3 qui se met en exposant et non le 5

Existe t'il un code me permettant de partir de la fin???

Exemple :
PHP:
Start:=(end-1), Length:=1

Ou existe t'il tout simplement une solution plus simple??

Merci d'avance

Vidralta
 

Gorfael

XLDnaute Barbatruc
Re : Compter en VBA à partir de la fin.

Salut et bonnes fêtes
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Right(Target.Value, 2) = "m3" Then Target.Characters(Start:=Len(Target), _
                  Length:=1).Font.Superscript = True
End Sub
J'ai testé, ça marche, mais......................
Si tu sélectionnes plusieurs cellules et que tu les effaces ou que tu fais un coller, tu passes en erreur. la même macro, tenant compte de ce problème :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range
For Each Cel In Target
If Right(Cel.Value, 2) = "m3" Then Cel.Characters(Start:=Len(Cel), _
                  Length:=1).Font.Superscript = True
Next Cel
End Sub
Il semble que le changement de police ne déclenche pas d'événement, donc pas besoin de les inhiber pour éviter un bouclage, mais penses-y quand tu utilises les macros à lancement automatique.
A+
Nota : Avoir trouvé la syntaxe pour mettre en forme un caractère et buter sur un problème aussi simple, c'est toute la magie d'Excel. (et de ceux/celles qui le pratiquent)
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…