Date stockée dans une boucle

Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   -  
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   -
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

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   61
 
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