Colorié une partie du texte dans une cellule

Fermé
akarix Messages postés 6 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 4 mai 2011 - 17 juin 2008 à 14:58
akarix Messages postés 6 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 4 mai 2011 - 17 juin 2008 à 15:45
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 mercredi 21 mai 2008 Statut Membre Dernière intervention 17 octobre 2008 120
17 juin 2008 à 15:07
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 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 4 mai 2011
17 juin 2008 à 15:33
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 mercredi 21 mai 2008 Statut Membre Dernière intervention 17 octobre 2008 120 > akarix Messages postés 6 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 4 mai 2011
17 juin 2008 à 15:39
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 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 4 mai 2011 > onesdf Messages postés 375 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 17 octobre 2008
17 juin 2008 à 15:45
Merci beaucoup c'est niquel
0