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
Configuration: Windows XP
Firefox 3.0

1 réponse

  1. 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
    1. 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
      1. 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
      2. 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