Recherche de dates

Mers

XLDnaute Junior
Bonjour à tous,

J'essai de trouver réponse à un problème de recherche de dates en fonction de 3 critères soit une valeur minimale en fonction de 2 champs.

J'ai joint un fichier qui explique mieux mon problème.

Merci d'avance,

M.
 

Pièces jointes

  • Recherche dates.xls
    27 KB · Affichages: 46
  • Recherche dates.xls
    27 KB · Affichages: 48
  • Recherche dates.xls
    27 KB · Affichages: 48

hoerwind

XLDnaute Barbatruc
Re : Recherche de dates

Re,

La lenteur est due à la forme matricielle de la formule (et la taille des plages à balayer), et il ne me semble pas possible d'obtenir le résultat sans formule matricielle.

Peut-être par macro, mais là je ne puis t'aider.
 

mromain

XLDnaute Barbatruc
Re : Recherche de dates

bonjour Mers, hoerwind,

un essai en macro :
Code:
Sub test()
Dim curCell As Range, cellWrite As Range, dateMem As Date, trouve As Boolean
Set curCell = ThisWorkbook.Sheets("Sheet1").Range("E5")
Set cellWrite = ThisWorkbook.Sheets("Sheet1").Range("J6")
'effacer la zone de résultat
Range(cellWrite, cellWrite.End(xlDown).End(xlToRight)).ClearContents
'boucler sur les éléments de la colonne E
While curCell.Text <> vbNullString
    trouve = False
    If UCase(curCell.Offset(0, 2)) <> "X" Then
        trouve = True
        dateMem = curCell.Offset(0, 1)
    End If
    While curCell.Offset(1, 0).Text = curCell.Text
        Set curCell = curCell.Offset(1, 0)
    If UCase(curCell.Offset(0, 2)) <> "X" Then
        If trouve Then
            If DateDiff("d", curCell.Offset(0, 1), dateMem) > 0 Then dateMem = curCell.Offset(0, 1)
        Else
            trouve = True
            dateMem = curCell.Offset(0, 1)
        End If
    End If
    Wend
    If trouve Then
        cellWrite.Value = curCell.Value
        cellWrite.Offset(0, 1).Value = dateMem
        Set cellWrite = cellWrite.Offset(1, 0)
    End If
    Set curCell = curCell.Offset(1, 0)
Wend
End Sub
PS: à tester, mais a mon avis, les formules matricielles seront néanmoins plus rapide...

a+
 

Discussions similaires

Réponses
5
Affichages
592

Statistiques des forums

Discussions
312 468
Messages
2 088 683
Membres
103 919
dernier inscrit
BOB66500