[VBA Excel] Appliquer couleur sur une partie de chaine

Appliquer couleur sur une partie de chaine [VBA Excel] - VB/VBA/VBS - Programmation

Marsh Posté le 17-10-2007 à 15:12:41    

Bonjour,
 
En VBA Excel, je dois appliquer une couleur sur seulement une partie du texte de la cellule.  
Exemple : Je dois mettre seulement le (3) en rouge : 53200_(3)
 
J'ai une fonction en VBA qui boucle dans chacune des cellule de ma feuille Excel pour retrouver les cellules contenant des (3), mais il me manque seulement le code pour appliquer la couleur seulement sur la partie (3) du contenue de ma cellule.
 
Comment je pourrais faire cela ?
 
J'avais penser inverser le contenu de ma cellule, appliquer la couleur sur les 3 premieres positions et réinverser le contenue pour le remettre à l'en droit, mais il doit y avoir une façon plus facile de le faire ?
 
Merci bien pour votre aide, je ne connais pas vraiment la syntaxe et les fonctions en VBA donc c'est pour cela que j'ai besoin de votre aide ;)


Message édité par Brainmaze le 18-10-2007 à 01:51:29
Reply

Marsh Posté le 17-10-2007 à 15:12:41   

Reply

Marsh Posté le 17-10-2007 à 16:33:20    

Je me trompe peut-être mais je ne crois pas que ça soit possible.
Une cellule est traitée de manière entière en terme de format et on ne peut pas traiter qu'une sous-partie de son contenu.
 
Si quelqu'un peut confirmer.

Reply

Marsh Posté le 17-10-2007 à 16:52:05    

ah ok dommage, merci bien

Reply

Marsh Posté le 17-10-2007 à 17:13:06    

tegu a écrit :

Je me trompe peut-être mais je ne crois pas que ça soit possible.
Une cellule est traitée de manière entière en terme de format et on ne peut pas traiter qu'une sous-partie de son contenu.
 
Si quelqu'un peut confirmer.


+1 pour ma part :(

Reply

Marsh Posté le 17-10-2007 à 17:20:35    

tegu a écrit :

Je me trompe peut-être mais je ne crois pas que ça soit possible.
Une cellule est traitée de manière entière en terme de format et on ne peut pas traiter qu'une sous-partie de son contenu.
 
Si quelqu'un peut confirmer.


-1 pour moi c'est possible
Avec l'enregistreur : (à étudier un peu plus mais le principe est là)
    With ActiveCell.Characters(Start:=4, Length:=3).Font
        .Name = "Arial"
        .FontStyle = "Normal"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = 3
    End With

Reply

Marsh Posté le 18-10-2007 à 01:15:36    

super ça fonctionne à merveille !
 
merci beaucoup

Reply

Marsh Posté le 18-10-2007 à 01:52:55    

ah j'avais une autre question, est-ce que je peux spécifier de mettre seulement les 3 derniers caractères de la chaine en couleur ou bien je dois absolument spécifier les position des caractère?
 
merci encore

Reply

Marsh Posté le 18-10-2007 à 08:44:13    

Brainmaze a écrit :

ah j'avais une autre question, est-ce que je peux spécifier de mettre seulement les 3 derniers caractères de la chaine en couleur ou bien je dois absolument spécifier les position des caractère?
 
merci encore


Je pense qu'il faut spécifier le debut et la longueur.
Par contre tu peux faire la même chose avec le "Start" à longueur de chaine -3
et la longueur de la chaine "Length" à 3.

Reply

Marsh Posté le 25-06-2015 à 22:20:26    

bonjour, j'aimerais savoir comment puis-je mettre en caractère blanc tous les chiffres qui suivent les lettres..
 
Par exemple: «mar245»
 
Comment puis-je mettre 245 en blanc, mais garder "mar" en noir.
 
Sans avoir besoin de sélectionner le text en question.
 
Donc je cherche plutôt une formule ou par les VBA
 
merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed