Je voudrais faire une fonction qui :
- recoit en argument un range et une valeur "MinValue"
- Modifie la couleur des cellules du range dont la valeur et égale à MinValue.

Mon problème :
J'arrive à écrire une Macro qui fait ce travail (Range et MinValue sont pour le moment en dur dans le code) mais si je mets le meme code dans une fonction alors il ne se passe rien.

Y a t'il quelque chose de particulier à faire dans une fonction pour pouvoir modifier l'apparence d'une cellule excel ?

Voici le code de ma macro :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub Macro3()
Dim MinValue As Double
MinValue = Worksheets("Optim Vent").Cells(1, 14).Value
 
Worksheets("Optim Vent").Range("H14:AQ49").Select
    Selection.Interior.ColorIndex = xlNone
 
    For Each c In Worksheets("Optim Vent").Range("H14:AQ49").Cells
        If c.Value = MinValue Then
            c.Select
            With Selection.Interior
                .ColorIndex = 4
                .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            End With
        End If
    Next
End Sub
Pour la fonction, je remplace juste "Sub" par "Function"

J'utilise Excel 2003 en Version Anglaise.

Merci pour votre aide