• Initiateur de la discussion Initiateur de la discussion Mers
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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.
 
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+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
382
Réponses
16
Affichages
624
Réponses
7
Affichages
354
Réponses
13
Affichages
373
Réponses
6
Affichages
344
Retour