XL 2019 Premier arrivé, dernier parti

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 !

Tiboc54

XLDnaute Nouveau
Bonjour à tous,

J'aurais besoin de vos lumière.

J'ai un fichier Excel avec comme entrée date, heure d'arrivé et heure de sortie.

J'aimerai pouvoir extraire sur une même ligne et pour lune même date, l'heure d'arrivée la plus tôt et l'heure de départ la plus tard.

Merci d'avance pour ceux qui pourront m'aider

Amicalement

Tiboc
 

Pièces jointes

Bonjour,

Merci Backhandshot pour ta réponse rapide.

L'idée est intéressante, par contre j'ai besoin pour une même date le 1er arrivé , dernier parti.

Par exemple pour le 26/01/2018 1er arrivé à 9:45:21 et dernier parti à 17:33:22.

J'essai de voir avec ton l'aide que tu m'as apporté si j'arrive à quelque chose.

Merci en tout cas et bonne journée
 
Bonjour,

Comme vous avez xl2019 vous trouverez une requête PowerQuery dans le fichier joint.

Je suppose que les données de votre tableau sont importées. Alors pour ça aussi vous devriez utiliser PowerQuery avec lequel vous pourriez les néttoyer et transformer à votre guise.

Cordialement
 

Pièces jointes

Bonjour Tiboc, Backhandshot, roblochon,
Un essai en PJ avec deux fonctions perso :
VB:
Function Prim(D as Date)
Dim tablo(), i%, MinTime: MinTime = 1
Application.Volatile
tablo = Range("A2:D" & Range("A65500").End(xlUp).Row)
For i = 1 To UBound(tablo)
    If DateValue(tablo(i, 1)) = D And tablo(i, 2) <> "" Then
        If TimeValue(tablo(i, 2)) < MinTime Then MinTime = TimeValue(tablo(i, 2))
    End If
Next i
Prim = Format(MinTime, "hh:mm:ss")
End Function

Function Der(D As Date)
Dim tablo(), i%, MaxTime: MaxTime = 0
Application.Volatile
tablo = Range("A2:D" & Range("A65500").End(xlUp).Row)
For i = 1 To UBound(tablo)
    If DateValue(tablo(i, 1)) = D And tablo(i, 3) <> "" Then
        If TimeValue(tablo(i, 3)) > MaxTime Then MaxTime = TimeValue(tablo(i, 3))
    End If
Next i
Der = Format(MaxTime, "hh:mm:ss")
End Function

( Nouvelle version suite à p'ti bug )
 

Pièces jointes

Dernière édition:
Sans macro, après correction (apostrophes superfétatoires)

TCD :
1613056212008.png
 
Parfait merci à tous,

Je faisais la demande pour mon père qui a préféré la méthode de Roblochon 👍

Même si moi, j'ai bien aimé celle de Sylvanu. Comme quoi les goûts et les couleurs .

Encore merci à la communauté XLDnaute en tout cas 👏👏
 
- 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
Retour