Comparer 2 cellules avec MFC

portequoi

XLDnaute Nouveau
Bonjour,

je cherche comment comparer (en VBA impérativement) 2 cellules (voire 2 groupes de cellules) mais je ne veux comparer "que" la Mise en Forme Conditionnelle, mais toute la MFC...

Un exemple : je demande à qq'un de faire une MFC précise, je voudrais comparer celle ci à celle que j'aurais mise dans une autre feuille.

C'est possible ?
Pour le moment j'ai essayé de me battre avec FormatConditions mais c'est lui le plus fort, je ne suis arrivé à rien du tout.

Une idée svp ?
Merci
 

job75

XLDnaute Barbatruc
Re : Comparer 2 cellules avec MFC

Bonjour portequoi, bienvenue sur XLD,

Par exemple, si l'on veut voir/comparer les formules des MFC :

Code:
Sub CompareMFC()
Dim r1 As Range, r2 As Range, f1$, f2$
'...définir r1 et r2
On Error Resume Next 'si pas de MFC
f1 = r1.FormatConditions(1).Formula1
f2 = r2.FormatConditions(1).Formula1
MsgBox "Formule 1 : " & f1 & vbLf & "Formule 2 : " & f2, , "MFC"
End Sub
A+
 

portequoi

XLDnaute Nouveau
Re : Comparer 2 cellules avec MFC

Merci pour l'accueil Job75

c'est quasiment ce que je cherche, mais...
Y'a t'il un moyen pour comparer toutes les propriétés de la MFC ?
Si non, où puis-je trouver les autres "machin" (je ne sais pas comment les nommer) qui sont après le point du FormatConditions ?

Merci encore pour la réponse
 

portequoi

XLDnaute Nouveau
Re : Comparer 2 cellules avec MFC

Re bonjour,

je dois rater qqchose, mais je ne vois pas quoi car Excel me dit "Erreur d’exécution '438': Propriété ou méthode non gérée par ce objet"

Voici le code
Code:
Sub macro7()

Dim r1 As Range, r2 As Range, f1$, f2$

    Cellules_A_Tester = "B2"
    Feuille_A_Tester = "Feuil1"
    Feuille_Résult = "Résultats"

    Set r1 = Sheets(Feuille_A_Tester).Range(Cellules_A_Tester)
    Set r2 = Sheets(Feuille_Résult).Range(Cellules_A_Tester)
    
f1$ = r1.FormatConditions(1).Formula1 'ça bloque ICI
f2$ = r2.FormatConditions(1).Formula1
MsgBox "Formule 1 : " & f1$ & vbLf & "Formule 2 : " & f2$, , "MFC"

Exit Sub
erreur:
Beep
MsgBox "erreur"

End Sub

j'avoue être assez mauvais quand à l'utilisation du VBA, j'en suis resté au basic simple des années... pppfffff... trop loin pour compter.

Merci d'avance pour le coup de pouce pour la suite
 

job75

XLDnaute Barbatruc
Re : Comparer 2 cellules avec MFC

Bonjour portequoi,

Les cellules B2 des 2 feuilles doivent avoir une MFC définie par une formule.

Nota : quand j'écris f1$ c'est pour déclarer f1 As String, plus besoin du signe $ ensuite...

A+
 

Modeste geedee

XLDnaute Barbatruc
Re : Comparer 2 cellules avec MFC

Bonsour®
Merci pour l'accueil Job75

c'est quasiment ce que je cherche, mais...
Y'a t'il un moyen pour comparer toutes les propriétés de la MFC ?
Si non, où puis-je trouver les autres "machin" (je ne sais pas comment les nommer) qui sont après le point du FormatConditions ?

Merci encore pour la réponse

pour excel 2010 voir intervention de ROGER dans ce fil :
https://www.excel-downloads.com/thr...lules-dun-champ-ayant-une-couleur-mfc.209766/

Activecel.DisplayFormat. etc...
 

portequoi

XLDnaute Nouveau
Re : Comparer 2 cellules avec MFC

Merci Modeste... mais... ça ne permet pas de comparer les MFC de différentes cellules, et dans l'exemple donnée ça compte toutes les couleurs, y compris celles qui ne sont pas issues d'une MFC :-(

Une autre idée ?
 

eriiic

XLDnaute Barbatruc
Re : Comparer 2 cellules avec MFC

Bonjour,

en rusant ça a l'air de le faire :
Code:
Sub CompareMFC()
    Dim pl As Range
    Set pl = Union([A2], [B2])
    Set pl = Intersect(pl, pl.SpecialCells(xlCellTypeSameFormatConditions))
    If pl.Count = 2 Then MsgBox "MFC identiques" Else MsgBox "MFC différentes"
End Sub
Si plus de 2 cellules il faudra boucler car là je pense que c'est la 1ère cellule qui serait comparée au autres, et non pas toutes entre elles. A tester si besoin.
Et par 2 groupes de cellules tu entends quoi ? Une sélection multiple ou des cellules à comparer 2 à 2 ?

eric
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : Comparer 2 cellules avec MFC

Bonjour à tous.


À portequoi : suite à cette discussion (https://www.excel-downloads.com/thr...lules-dun-champ-ayant-une-couleur-mfc.209766/), voici une contribution à l'étude des MFC.
Dites-moi si c'est utile ou non, ce qu'on pourrait améliorer pour répondre précisément à votre attente...​


Bonne soirée.


ROGER2327
#6781


Dimanche 15 Phalle 140 (Mort de Dionysos, surhomme - fête Suprême Tierce)
8 Fructidor An CCXXI, 7,0945h - apocyn
2013-W34-7T17:01:36Z
 

Pièces jointes

  • FormatConditions.xlsm
    24.7 KB · Affichages: 63

eriiic

XLDnaute Barbatruc
Re : Comparer 2 cellules avec MFC

Re,
Ah ok, je n'avais pas vu.
Le plus simple si on ne veut pas se faire toutes les propriétés une par une est sans doute d'utiliser deux cellules intermédiaires :
Code:
Sub CompareMFC()
    Dim pl As Range
    With Worksheets("Feuil3")
        Worksheets("Feuil1").[B2].Copy .[A1]
        Worksheets("Résultats").[B2].Copy .[A2]
        Set pl = Union(.[A1], .[A2])
    End With
    Set pl = Intersect(pl, pl.SpecialCells(xlCellTypeSameFormatConditions))
    If pl.Count = 2 Then MsgBox "MFC identiques" Else MsgBox "MFC différentes"
End Sub

eric
 

Discussions similaires

Réponses
2
Affichages
118

Statistiques des forums

Discussions
312 194
Messages
2 086 071
Membres
103 110
dernier inscrit
Privé