Date stockée dans une boucle

Bonjour,

Voici mon code :

Sub TEST()

Dim DL As Long, Date_S() As Date

Code_Client = InputBox("Code client")

Montant_Encaissement = InputBox("Montant encaissement")

For i = 1 To DL

If Range("C" & i) = Code_Client Then
    Date_S(i) = Range("A" & i).Value
End If

Next i




End Sub


Mais voilà, je bloque. Ok, mes dates ont bien été stockées dans la table Date(), mais je voudrais qu'il me dise laquelle de ces dates est la plus ancienne et qu'il me dise donc aussi à quelle ligne elle se trouve (quelle i).

Merci pour vos réponses.

Cordialement.

2 réponses

  1. Contributeur
    Bonjour,

    Une piste, on met les cellules Standard et ensuite en Date:

    Dim Col As Range, c As Range
    Dim valeur As String
    For Each Col In Range("C1:C26").Columns 'a adapter
      For Each c In Col.Cells
      c.Select
      Selection.NumberFormat = "General"
    valeur = Application.WorksheetFunction.Large(Col, 1)
    If c.Value = valeur Then
    MsgBox c.Row
    End If
    Selection.NumberFormat = "m/d/yyyy"
     Next
     Next

    0
    1. Contributeur
      Comme tu as pu t'en apercevoir, c'est la date la plus récente qui est recherchée.
      Pour la plus ancienne c'est ça:

      valeur = Application.WorksheetFunction.Small(Col, 1)


      Bon WE
      0
  2. Contributeur
    Bonjour
    ligne de la date mini sans macro avec une liste de validation (pas de mauvaise saisie du nom) et une formule matricielle

    https://www.cjoint.com/c/EKCiwsJqCsS

    0
    1. Merci beaucoup pour toutes vos propositions. Je vais fortement m'en inspirer. L'idée de michel_m me séduit beaucoup, dans la mesure où l'erreur n'est pas possible. Je vais réfléchir.

      Merci beaucoup.

      Cordialement.
      0