MFC sur une partie du Texte d'une cellule + Transfère ds Tableau

16mfc-exemple1.xlsx (39.81 Ko)

Bonjour,

me revoilà avec mon projet qui avance :-)

L'avant dernière fois, mon problème a été résolu ds le post

Concatener valeur d'un colonne sur chaque ligne en fonction de 2 critères

J'aimerais savoir s'il serait possible suite à cette formule d'avoir une MFC qui m'afficherait en texte rouge la partie du Texte renseignée en Value si ds la colonne Active=0.

Donc dans la colonne "AllValue" se trouve la formule qui concatène suivant des conditions. Et dans la colonne que j'ai appelée "Résultat Désiré pour AllValue avec MFC" j'ai mis le résultat tel que je l'aimerais dans AllValue (donc le texte en rouge)

Il y a je pense déjà la difficulté de savoir si on peut faire un MFC sur une partie du contenu d'une cellule mais en plus on ne peut pas se dire de "trouver" la valeur de "Value" dans "AllValue" pour la remplacer par du rouge car dans la colonne active=0 car sur une autre ligne du même Site/Brands il y a aussi la valeur 15.00 qui est en active Zero...

Je joins mon fichier dans lequel j'ai mis des notes.

Ensuite, dans le deuxième onglet se trouve un tableau que je génère par ce que j'appelle PowerBI/Power Query mais je pense que je n'utilise pas le bon terme (c'est interne à Excel 365 dans Obtenir des données à partir d'un tableau ), j'aimerais que suite à mon groupement, la colonne que j'ai appelée "RésultatClean" m'affiche la même MFC.

J'ai essayé de compléter au mieux mon Tableau afin d'essayer ensuite s'il y a solution de reproduire dans mon "Vrai" fichier plus complexe encore lol.

J'espère qu'il y aura pas trop de VBA/DAX mais bon suis ouvert à tout et surtout à la bienveillance de ceux qui voudront bien essayer de me comprendre.

Bien à vous

EDIT 14/04/23 9h54: Suppression d'une "mention" pas la bienvenue.

Bonjour,

À ma connaissance il est impossible de colorer en deux couleurs un résultat de fonction. Mais je peux te proposer une solution en conservant ta colonne W et en masquant la V. avec la marcro suivante :

Sub Colorisation()
Application.CutCopyMode = False
Range(Range("W2"), Range("W2").End(xlDown)).Font.ColorIndex = xlAutomatic
Dim nbL, nbCurL, index, curName
nbL = Range("G2").End(xlDown).Row
nbCurL = 0
index = 1
curName = ""
For i = 2 To nbL

    Range("W" & i).Value = Range("V" & i)
    If curName = Range("F" & i) Then
        nbCurL = nbCurL + 1
        Range("W" & i - 1).Copy
        Range("W" & i).PasteSpecial
    Else
        curName = Range("F" & i)
        index = 0
        nbCurL = 0
    End If
    If Range("S" & i) = 0 Then
        Range("W" & i).Characters(Start:=index + 1, Length:=Len(Range("G" & i))).Font.Color = -16776961
        Range("W" & i).Copy
        For j = 1 To nbCurL
            Range("W" & i - j).PasteSpecial
        Next j
    End If
    index = index + Len(Range("G" & i)) + 1
Next i
End Sub

à noter que pour que ça fonctionne les ProductName doivent être triés et les value dans le même ordre que dans AllValue.

Cordialement

Bonjour Chbouli04, à tous,

Tout d'abord, merci pour d'avoir pris le temps pour essayer de résoudre mon souci :-) et la solution proposée.

Même si celle-ci ne pourra être appliquée à chaque fois car mes données ne seront pas toujours triées :-( cela a le mérite de fonctionner !

D'ailleurs votre idée de cacher une colonne m'a permis de réfléchir d'une autre manière à mon but final :-) et ainsi arriver à ce que je voulais enfin presque car je butte sur autre chose :-) )

J'avais pensé aussi aller vers ce type de formule

=SUBSTITUE(SUBSTITUE(CONCATENER("<font color=red>"; [@Value]; "</font>"); [@AllValue]; CONCATENER("<font color=red>"; [@AllValue]; "</font>")); "/"; "/")

Mais je suis arrivé à rien -> Je mets en résolu et m'attaque à l'autre chose sur laquelle je me casse un peu les dents; position d'un segment de Tableau suivant colonne masquée ou pas et surtout qui reste présente malgré un tri du tableau :-) )

Merci encore pour votre solution et patience.

Rechercher des sujets similaires à "mfc partie texte transfere tableau"