Comparatif de prix marché - Mise en forme conditionnelle

fredobogoss

XLDnaute Junior
Bonjour, et tout d'abord Bonne année 2012. La santé surtout et le reste suivra.

Je voudrai créer un tableau pour comparer les prix de devis recu.
et de mettre le devis le moins cher dans une couleur (jaune) prix qui se rapprochera le plus de budget par poste.
j'ai utilisé pour cela la mise en forme conditionnelle

mon problème est le suivant : si je met 3 colonne de comparatif de devis, il me met toujours deux colonnes en couleurs au lieu d'une.( avec la mise en forme conditionnelle)

2ème probleme : j'aimerai calculer que les cellules dont la mise en forme conditionnelle aura colorier (jaune) cette à dire tous les montants qui seront en jaune. (je sais que c'est un macro mais je maitrise pas cette partie la)

ci joint le fichier, cela aidera à mieux comprendre ma demande.

Merci par avance pour l'aide que l'on pourrait m'apporter par avance.
Cordialement.
 

Pièces jointes

  • comparatif prix.xlsx
    14 KB · Affichages: 176
  • comparatif prix.xlsx
    14 KB · Affichages: 177
  • comparatif prix.xlsx
    14 KB · Affichages: 191

Habitude

XLDnaute Accro
Re : Comparatif de prix marché - Mise en forme conditionnelle

Bonjour

En supposant avoir compris
 

Pièces jointes

  • comparatif prix.xlsx
    13.9 KB · Affichages: 253
  • comparatif prix.xlsx
    13.9 KB · Affichages: 239
  • comparatif prix.xlsx
    13.9 KB · Affichages: 254

DoubleZero

XLDnaute Barbatruc
Re : Comparatif de prix marché - Mise en forme conditionnelle

Bonjour, fredobogoss, Habitude, le Forum,

Une autre suggestion par macro qu’il faudra adapter au nombre d’entreprises consultées.

VB:
Sub Prix_comparer()
Dim c As Range
Application.ScreenUpdating = False
Columns("a:a").Insert
Range("a6:a" & Range("B65536").End(xlUp).Row).FormulaR1C1 = "=IF(RC[1]=""Sous/Total"",MIN(RC[3]:RC[8]),""x"")"
Range("a6").CurrentRegion.Interior.ColorIndex = xlNone
For Each c In Sheets(1).Range("d6:d1000")
    If c.Offset(, -2).Value = "Sous/Total" And c.Value = c.Offset(0, -3).Value Then c.Interior.ColorIndex = 6
Next c
For Each c In Sheets(1).Range("f6:f1000")
    If c.Offset(, -4).Value = "Sous/Total" And c.Value = c.Offset(0, -5).Value Then c.Interior.ColorIndex = 6
Next c
For Each c In Sheets(1).Range("h6:h1000")
    If c.Offset(, -6).Value = "Sous/Total" And c.Value = c.Offset(0, -7).Value Then c.Interior.ColorIndex = 6
Next c
Range("g51") = "=SUM(C[-6])"
Range("g51").Value = Range("g51").Value
Columns("a:a").Delete
Application.ScreenUpdating = False
End Sub
A bientôt :)
 

Pièces jointes

  • 00 - fredobogoss.xls - Le moins cher.xls
    97 KB · Affichages: 123

Discussions similaires