Copie de couleur issue d'une mfc part VBA

Bonjour,

J'ai un petit souci sur une ligne dans ma macro qui fonctionne etrangement

J'ai sur ma feuille 1 des cases mise en couleur part une mfc

Avec une recherche automatique par macro avec diffèrent criteres, je copie ces case sur une autre feuille.

Le souci est que j'aurais aussi aimé copier la mise en forme de ces cases et surtout la couleur de fond.

j'ais donc inserer cette ligne :

Range(colonondtrouv & lignetrouv).Interior.ColorIndex = Range("feuil1!" & colonond & lignecherch).Interior.ColorIndex

J'ai donc voulu tester la commande "Range("feuil1!" & colonond & lignecherch).Interior.ColorIndex" a l'aide de :

Range("x" & lignetrouv) = Range("feuil1!" & colonond & lignecherch).Font.ColorIndex

et là, dans la cellule (x;lignetrouv), je trouve la valeur "-4105", ce qui est loin d'une code couleur vous avouerez ^^.

Merci de votre aide

Kéotrip.

Bonjour,

"-4105" correspond à la couleur noir Automatique

vois ce lien où nous en avons largement discuter

https://forum.excel-pratique.com/excel/calcul-somme-couleur-excel-t16411.html

De toute façon une MFC n'a pas d'index couleur (à ma connaissance) puisque spécifique à une formule.

Amicalement

Claude

Bonjour

Citation:

"Le souci est que j'aurais aussi aimé copier la mise en forme de ses cases et surtout la couleur de font.

j'ais donc inserer cette ligne :

Range(colonondtrouv & lignetrouv).Interior.ColorIndex = Range("feuil1!" & colonond & lignecherch).Interior.ColorIndex

J'ai donc voulu tester la commande "Range("feuil1!" & colonond & lignecherch).Interior.ColorIndex" a l'aide de :

Range("x" & lignetrouv) = Range("feuil1!" & colonond & lignecherch).Font.ColorIndex"

Fin de citation

Ce qui fait que tu testes la couleur de Police pour connaître la couleur de "Fond" (Font) ?

Cordialement

Range("x" & lignetrouv) = Range("feuil1!" & colonond & lignecherch).Interior.ColorIndex"

Me donne toujours le même resultat.

Donc visiblement aucune solution ?

Bonjour

Tout dépends du résultat recherché.

L'appareil photo Excel peut-être pour avoir les valeurs et les formats...

Cordialement

6base2-1.xlsx (10.42 Ko)

Bonsoir,

On a fait le tour ? , si oui

a resolu2

Salut le forum

Cette fonction retourne la valeur du format actif d'une mise en forme conditionnelle.

Avec la fonction de la démo, deux valeurs peuvent êtres retournées.

  • Mode = 0 : retourne la valeur de Interior.ColorIndex
  • Mode = 1 : retourne la valeur de Interior.Color
Public Function CouleurMFC(RG As Range, Optional Mode As Byte = 0) As Variant
Dim e As Long, i As Byte, LoTest As Boolean
Dim LoMFC As FormatCondition
    Application.Volatile
    'boucle sur le nombre de condition(s)
    'Si pas de MFC .FormatConditions.Count renvoi 0
    For i = 1 To RG.FormatConditions.Count
        Set LoMFC = RG.FormatConditions(i)
        If LoMFC.Type = xlCellValue Then
        'tester le type de la formule entrée
            Select Case LoMFC.Operator
            Case xlEqual
                LoTest = RG = Evaluate(LoMFC.Formula1)
            Case xlNotEqual
                LoTest = RG <> Evaluate(LoMFC.Formula1)
            Case xlGreater
                LoTest = RG > Evaluate(LoMFC.Formula1)
            Case xlGreaterEqual
                LoTest = RG >= Evaluate(LoMFC.Formula1)
            Case xlLess
                LoTest = RG < Evaluate(LoMFC.Formula1)
            Case xlLessEqual
                LoTest = RG <= Evaluate(LoMFC.Formula1)
            Case xlNotBetween
                LoTest = (RG < Evaluate(LoMFC.Formula1) Or RG > Evaluate(LoMFC.Formula2))
            Case xlBetween
                LoTest = (RG >= Evaluate(LoMFC.Formula1)) And (RG <= Evaluate(LoMFC.Formula2))
            End Select
            If LoTest Then
                'Peu ajouter d'autre format si nécessaire,
                'comme la bordure, la police etc..
                Select Case Mode
                Case 0
                    CouleurMFC = LoMFC.Interior.ColorIndex
                Case 1
                    CouleurMFC = LoMFC.Interior.Color
                End Select
                Exit Function
            End If
        End If
    Next i
    CouleurMFC = 0
End Function

La formule dans le tableur

=CouleurMFC(A2)

Mytå

7elb.xlsm (41.42 Ko)
Rechercher des sujets similaires à "copie couleur issue mfc part vba"