Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 MFC Afficher evolution par rapport a semaine - 1

  • Initiateur de la discussion Initiateur de la discussion Niouf
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Niouf

XLDnaute Occasionnel
Bonjour le forum !

Je cherche a faire un truc tout simple a priori.

Je vous laisse consulter le tableau joint au prealable.
J'aimerai, pour chacune des lignes comparer S-1 a M-1 et afficher sur S-1 et afficher la tendance, si c'est plutoa la baisse, a la hausse ou ca ne bouge pas.
J'y arrive tres fqcilement pour une seule ligne.
Mais j'ai besoin de creer une seule MFC pour l'ensmble de la plage ...

Est possible, et si oui comment ?

Merci d'avance 🙂
 

Pièces jointes

Salut,

Alors sauf erreur de ma part ... Ca ne fonctionne pas .
J'ai une evolution positive que ca passé de 44 a 45 ok, mais positive aussi quand je passe de 25 a 20 ... et continue quand je passe de 12.2 a 11.6 .
J'ai essaye de bricoler ta regle mais en vain ^^
 
Bonjour Niouf, JHA,

Voyez le fichier joint et la MFC à 3 conditions sur A:B.

La condition pour la croissance :
Code:
=ARRONDI(-(""&$A1);3)<ARRONDI(-(""&$B1);3)
La petite gymnastique -(""&$A1) élimine les cellules vides.

A+
 

Pièces jointes

Dernière édition:
Bonjour Niouf, JHA, le forum,

Une solution VBA avec cette macro dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, c As Range
Set r = Intersect(Target.EntireRow, [A:B], Me.UsedRange.EntireRow)
If r Is Nothing Then Exit Sub
For Each r In r.Rows 'en cas d'entrées multiples (copier-coller)
  Set c = r.Cells(1)
  If IsNumeric(CStr(c)) And IsNumeric(CStr(c(1, 2))) Then
    Select Case Round(c - c(1, 2), 3)
      Case Is < 0: c.NumberFormat = "[Red] - * 0.0%": If Not c.Font.Bold Then c.Font.Bold = True
      Case Is = 0: c.NumberFormat = " = * 0.0%": If c.Font.Bold Then c.Font.Bold = False
      Case Is > 0: c.NumberFormat = "[Blue] + * 0.0%": If c.Font.Bold Then c.Font.Bold = False
    End Select
  Else
    If r.Row > 1 Then c.NumberFormat = "0.0%": c.Font.Bold = False 'RAZ
  End If
Next
End Sub
Des formats Nombre personnalisés sont créés en colonne A.

Fichier .xlsm joint.

Pour tester j'ai copié le tableau A2:B54 sur 5300 lignes.

Chez moi sur Win 10 - Excel 2013 la macro s'exécute en 1,9 seconde.

Edit : j'ai ajouté des tests sur c.Font.Bold pour gagner du temps.

A+
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…