Bonjour le forum,
Je bloque sur un problème de logique.
En entrée, je dispose de deux colonnes, l’une contenant des dates sur plusieurs années et l’autre des valeurs négatives ou positives.
En pratique, par exemple
10/1/2005 -5
14/5/2008 12
10/1/2009 2
14/5/2010 3
Le but est de construire une liste reprenant la plus petite valeur par jour du mois et la date correspondante. Je devrais donc avoir comme résultat :
10/1/2005 -5
15/5/2010 3
Le problème est que les jours du mois ne contenant que des valeurs positives ne sont pas affichés.
Un membre du forum pourrait-il me conseiller pour corriger cette erreur de logique ?

D’avance merci
Harry
Voici ma routine VBA.
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
Sub tstmin()
Dim VarInput(), VarOutput(), VarDate()
Dim LngRec As Long  'numéro de la ligne traitée
Dim IntDay As Integer, IntMonth As Integer, IntYear As Integer  'indice des mois et des jours et années
Dim x as Long, y as Long, z as Long
ReDim VarOutput(31, 12)
ReDim VarDate(31, 12)
VarInput = Range(Range("a2"), Range("b2").End(xlDown))
For LngRec = 2 To UBound(VarInput, 1)
        IntDay = Day(VarInput (LngRec,1))
        IntMonth = Month(VarInput (LngRec,1))
        IntYear = Year(VarInput (LngRec,1))
    If VarInput(LngRec, 2) < VarOutput(IntDay, IntMonth) Then
        VarOutput(IntDay, IntMonth) = VarInput(LngRec, 2)
        VarDate(IntDay, IntMonth) = VarInput(LngRec, 1)
    End If
Next
x = 2
For y = 1 To 31
For z = 1 To 12
        Cells(x, 7) = VarDate(y, z)
        Cells(x, 8) = VarOutput(y, z)
        x = x + 1
        Next z
    Next y
End Sub