Bonsoir tout le monde,

J'ai un problème que je ne comprends pas pourquoi ça bloque. J'ai pourtant fait des tests avec des sujets similaires, j'ai consulté le site msdn sur l'utilisation de match mais l'écriture de mon code me renvoie l'erreur "La méthode range de l'objet '_worksheet' a échoué" sur l'argument "Range(Colonne)".

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
19
20
21
22
23
24
25
26
27
28
29
 
Sub ValeursMinMax()
    Dim ValeurMin As Single, ValeurMax As Single
    Dim Colonne As Range, Cellule As Range
    Dim Ligne As Long
 
    Application.ScreenUpdating = False
 
    With ThisWorkbook.Worksheets("Controles")
        For Each Colonne In Range("A5:K40").Columns
            Debug.Print "Adresse de colonne : " & Colonne.Address
            ValeurMin = WorksheetFunction.Min(Range(Colonne.Address))
            Debug.Print "Valeur minimale : " & ValeurMin
            'Debug.Print "Valeurmin type : " & TypeName(ValeurMin)
            If Not IsError(Application.WorksheetFunction.Match(ValeurMin, Range(Colonne)) > 0) Then
                'Ligne = Application.WorksheetFunction.Match(ValeurMin, Colonne, 0)
                'Cellule = Colonne.Cells(Ligne, 1)
                'Cellule.Select
                'With Selection
                '    .Interior.Color = RGB(255, 255, 0)
                'End With
            End If
            ValeurMax = WorksheetFunction.Max(Range(Colonne.Address))
            Debug.Print "Valeur max : " & ValeurMax
        Next
    End With
 
    Application.ScreenUpdating = True
End Sub