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

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 !

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

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
 
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,
 
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:
- 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

Discussions similaires

Réponses
6
Affichages
229
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…