Macro surligner nombre de caractère égaux à 7 ds la feuille

Bonjour à tous,

Je sèche un peu pour une macro, d'ailleurs je ne sais pas si c'est possible.

J'aimerai pouvoir surligner tous les mots qui sont égaux à 7 caractères dans une feuille de calcul sachant que les cellules contiennent chacunes plusieurs mots de longueurs différentes.

Merci pour votre aide,

Jean

Bonjour,

surligner : non, mettre en couleur : oui

Sub surligner7()
    Dim pl As Range, c As Range, tmp, l As Long, i As Long
    Set pl = [A2:A10]
    For Each c In pl
        tmp = Split(c, " ")
        l = 1
        For i = 0 To UBound(tmp)
            If Len(tmp(i)) = 7 Then c.Characters(Start:=l, Length:=7).Font.ColorIndex = 45
            l = l + Len(tmp(i)) + 1
        Next i
    Next c
End Sub

eric

Bonjour

Ou bien si tu désires plutôt changer la couleur de fond de la cellule

LaCellule .Interior.ColorIndex = 45

Bonjour Yarro et

Surligner dans Excel je ne pense pas, mettre les caractères en couleur, oui.

Pourrais tu nous fournir un petit fichier exemple et anonyme significatif de tes données ?

Cordialement


Edit:

Bonjour Zohnya

Nickel, un grand merci, cela solutionne mon problème

Bonne journée,

Jean

Efgé a écrit :

Bonjour Yarro et

Surligner dans Excel je ne pense pas, mettre les caractères en couleur, oui.

Pourrais tu nous fournir un petit fichier exemple et anonyme significatif de tes données ?

Cordialement


Edit:

Bonjour Zohnya


Edit_2

Bonjour eriiic

Même idée:

Sub couleur()

Dim i&, J&, Strt&, Lngt&
Dim Tmp As Variant

With Sheets("Feuil1") ' a adapter
    For i = 1 To .Cells(.Rows.Count, 1).End(3).Row
        Strt = 1
        Tmp = Split(.Cells(i, 1))
        For J = LBound(Tmp) To UBound(Tmp)
            Lngt = Len(Tmp(J))
            If Lngt = 7 Then
                .Cells(i, 1).Characters(Start:=Strt, Length:=Lngt).Font.Color = -16776961
            End If
            Strt = Strt + Lngt + 1
        Next J
    Next i
End With
End Sub

Cordialement

Rechercher des sujets similaires à "macro surligner nombre caractere egaux feuille"