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

Microsoft 365 macro mise en forme conditionnelle

Coralie01120

XLDnaute Occasionnel
Bonjour,


J’aimerai afficher les cellules en bleu de la colonne C si ces valeurs sont les valeurs max par rapport à la vitesse réelle de l’onglet Rapport_Act. La macro a été créée (Maj_new_vit) mais j’aimerai en plus les mettre en bleu.
Est il possible d’ajouter un msgbox en indiquant le nombre de nouvelles vitesses (cellules bleues) ?


Voici mon fichier : Suivi_Production.xlsm (29,8 Ko)


Bien cordialement,
 

Pièces jointes

  • Suivi_Production.xlsm
    29.8 KB · Affichages: 10

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @Coralie01120 , le Forum

Je ne comprends pas, je pensais avoir résolu ce problème avec toi dans ce Fil :


Maintenant dans ton fichier tu demandes :

Ce n'est pas excatement ce que fait ma démo :


Il te manque quoi au juste ? Car là je ne comprends plus ?

Bonne journée

@+Thierry
 

Coralie01120

XLDnaute Occasionnel
Bonjour,

Oui et il était résolu. Je cherche à créer le code pour la mise en forme conditionnelle sans passer par un nouvel onglet (anciennement TEMP_VREF) qui comparait les deux onglets pour appliquer la mise en forme conditionnelle.
Cordialement,
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Coralie

Regarde si c'est ce que tu veux... Mais je suis dubitatif !!!
@+Thierry
 

Pièces jointes

  • XLD_Coralie01120_Test_indicateurs_v02_Suivi_Production.xlsm
    25.1 KB · Affichages: 12

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @Coralie01120 , le Forum

C'est tout simple à adapter :

VB:
Sub Speed_Comparator()
Dim WSRapAct As Worksheet, WSTabVit As Worksheet
Dim RangeRapAct As Range, RangeTabVit As Range
Dim CellRapAct As Range, CellTabVit As Range
Dim TheTimer As Single
Dim x As Integer, y As Integer

TheTimer = Timer

Set WSRapAct = ThisWorkbook.Worksheets("Rapport_Act")
Set WSTabVit = ThisWorkbook.Worksheets("Tab_Vit")

WSRapAct.Range("D:D").Interior.ColorIndex = xlNone

Set RangeRapAct = WSRapAct.Range("C2:C" & WSRapAct.Range("C1000").End(xlUp).Row)
Set RangeTabVit = WSTabVit.Range("A2:A" & WSTabVit.Range("A1000").End(xlUp).Row)

For Each CellRapAct In RangeRapAct
    For Each CellTabVit In RangeTabVit
        If CellRapAct.Text = CellTabVit.Text Then
            With CellRapAct.Offset(0, 1)
                 If .Value < CellTabVit.Offset(0, 2).Value Then
                    .Value = CellTabVit.Offset(0, 2).Value
                   
                    CellRapAct.Offset(0, 2).Interior.ColorIndex = 8 '<<<<<<<<<<  c'est ici que tu dois modifier pour avoir la couleur en C
                    y = y + 1
                    Exit For
                 Else
                    If .Value > CellRapAct.Offset(0, 12) Then
                    CellRapAct.Offset(0, 2).Interior.ColorIndex = 33 '<<<<<<<<<<  c'est ici que tu dois modifier pour avoir la couleur en C
                    Exit For
                    Else
                    CellRapAct.Offset(0, 2).Interior.ColorIndex = xlNone '<<<<<<<<<<  c'est ici que tu dois modifier pour avoir la couleur en C
                    Exit For
                    End If
                End If
           End With
        End If
    Next CellTabVit
x = x + 1
Next CellRapAct


MsgBox x & " Comparaisons ont été faites en " & Timer - TheTimer & " Secondes" & vbCrLf _
            & y & " plus grange(s) vitesse(s) historique(s) retrouvée(s)", vbInformation

End Sub

Bonne journée et semaine
@+Thierry

EDIT 09H55 j'ai été un peu vite en besogne, je viens de changer l'algo ATTENTION
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…