Colorié une partie du texte dans une cellule

akarix Messages postés 6 Statut Membre -  
akarix Messages postés 6 Statut Membre -
Bonjour,

Je bosse sur une base de données sur excel dans laquelle je mets du html pour agrémenté mes descriptions. Le problème d'intégrer directement le HTML dans la base de données c'est que la lisibilité de mes descriptions est diminuée.
Je souhaite donc que mon code html soit directement colorié dans une couleur très claire histoire de ne pas géner la lecture de ma description.

Si vous avez une formule excel ou une macro en VBA permettant de colorié entre les symboles "<" et ">" (symboles compris).


Merci d'avance,
Guillaume

1 réponse

onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   120
 
Salut :

En A1 :
<TITLE>Mon premier essai</TITRE>

Macro :
Sub ColoreHTML()
    
    Range("A1").Select
    Pos = 1
    Debut = 1
    Do
        Pos = InStr(Debut, ActiveCell.Value, "<")
        Pos2 = InStr(Debut, ActiveCell.Value, ">")
        ActiveCell.Characters(Pos, Pos2 - Pos + 1).Font.ColorIndex = 15
        Debut = Pos2 + 1
    Loop Until Pos = 0
        
End Sub
0
akarix Messages postés 6 Statut Membre
 
J'ai tappé ça (en gras ce que j'ai modifié):

Sub ColoreHTML()

Range("P17:P268").Select
Pos = 1
Debut = 1
Do
Pos = InStr(Debut, ActiveCell.Value, "<")
Pos2 = InStr(Debut, ActiveCell.Value, ">")
ActiveCell.Characters(Pos, Pos2 - Pos + 1).Font.ColorIndex = 15
Debut = Pos2 + 1
Loop Until Pos = 0

End Sub

Ça m'a bien sélectionné toutes les cellules entre P17 et P268 mais ça ne s'est appliqué que dans la première cellule. De plus la première lettre (qui était en majuscule) à également coloriée.



Guillaume
0
onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   120 > akarix Messages postés 6 Statut Membre
 
Deuxième essai :
Sub ColoreHTML()
    Range("P17:P268").Select
    For Each Cellule In Selection
        Pos = 1
        Debut = 1
        Do
            Pos = InStr(Debut, Cellule.Value, "<")
            Pos2 = InStr(Debut, Cellule.Value, ">")
            Cellule.Characters(Pos, Pos2 - Pos + 1).Font.ColorIndex = 15
            Debut = Pos2 + 1
            Pos = InStr(Debut, Cellule.Value, "<")
        Loop Until Pos = 0
    Next
End Sub
0
akarix Messages postés 6 Statut Membre > onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup c'est niquel
0