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
Partager