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

Remplacer mfc par macro

  • Initiateur de la discussion Initiateur de la discussion 2b7a
  • 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 !

2b7a

XLDnaute Occasionnel
Bonsoir à toutes et tous

J'ai dans une feuille excel différents petits tableaux.
Dans l'une des colonnes de chacun des ces tableaux, j'ai fait une mise en forme conditionnelle pour que la cellule qui a la plus grande valeur soit coloriée : =$C4=MAX($C$4:$C$10)
Ca fonctionne bien

Mais je me demandais si j'aurais pu faire une petite macro à la place de cette mise en forme conditionnelle
.... je me lance dans VBA alors je cherche les occasions 'd'appliquer' ...
Je m'aide pour cela du bouquin Excel et VBA aux edtions Pearson mais je n'ai pas trouver de solution.

D'avance merci pour votre aide !
 
Re : Remplacer mfc par macro

Salut 2b7a,

Voici ci-dessous ta MFC en VBA :
VB:
Sub MFC()
Dim ValeurMax As Single
Dim NuméroLigne As Integer

ValeurMax = Application.WorksheetFunction.Max(Range("C4:C10"))

For NuméroLigne = 4 To 10
    If Range("C" & NuméroLigne) = ValeurMax Then
        
        With Range("C" & NuméroLigne).Font
            .FontStyle = "Gras"
            .ColorIndex = 3
        End With

    End If
Next NuméroLigne

End Sub

Cette macro va te permettre d'apprendre :
Le chapitre "boucle" :
Plus précisement la boucle : For... To ... Next

Le chapitre "Condition" :
If ta condition Then étapes à réaliser lorsque la condition est vrai End If

Le chapitre "With" :
Qui te permet d'éviter de répéter plusieurs fois la même chose. Dans le cas présent : "Range("C" & NuméroLigne).Font"

Si l'on n'avait pas utilisé cette astuce ta macro aurait dû écrite ainsi :
VB:
Sub MFC()
Dim ValeurMax As Single
Dim NuméroLigne As Integer

ValeurMax = Application.WorksheetFunction.Max(Range("C4:C10"))

For NuméroLigne = 4 To 10
    If Range("C" & NuméroLigne) = ValeurMax Then
        
        Range("C" & NuméroLigne).Font.FontStyle = "Gras"
        Range("C" & NuméroLigne).Font.ColorIndex = 3

    End If
Next NuméroLigne

End Sub

Si tu as besoin de plus de précision, n'hésite pas à consulter ton livre ou re-venir ici.

Bonne fin d'après midi
 
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
Réponses
2
Affichages
707
Rincevent29
R
N
Réponses
9
Affichages
901
nicopat
N
M
Réponses
2
Affichages
953
marcenana
M
E
Réponses
1
Affichages
1 K
Réponses
13
Affichages
2 K
D
Réponses
3
Affichages
1 K
DomCab
D
M
Réponses
3
Affichages
1 K
D
Réponses
4
Affichages
1 K
B
Réponses
10
Affichages
2 K
billylooping
B
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…