XL 2021 VBA traitement d'un fichier

NoviceTAZA

XLDnaute Nouveau
Bonjour,
Je souhaiterai avoir de l'aide pour créer une macro VBA qui compare les dates d'un matricule en doublon et me met la date minimum dans une colonne et la date max dans l'autre. Je vous remercie pour votre aide.
cordialement,
En pièce jointe le fichier Excel
 

Pièces jointes

  • AIDEMacro.xlsx
    14.6 KB · Affichages: 6

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour NoviceTaza, et bienvenu sur XLD,
Un essai en PJ avec :
- Si matricule unique pas de valeurs min max
- Résultat Matricule trié en alpla croissant.
VB:
Sub TriMinMax()
    Application.ScreenUpdating = False
    T = [A1].CurrentRegion: IndexMax = UBound(T)
    For i = 2 To IndexMax   ' Convertit date bidon type 09052023 en 09/05/2023
        T(i, 2) = Format(CDate(Mid(T(i, 2), 1, 2) & "/" & Mid(T(i, 2), 3, 2) & "/" & Mid(T(i, 2), 5, 4)), "dd/mm/yyyy")
    Next i
    [K1].Resize(IndexMax, UBound(T, 2)) = T ' Met le tableau en K1
    [K:L].Resize(IndexMax).Sort key1:=[K1], order1:=xlAscending, Header:=xlYes ' Tri sur Matricule
    For L = 2 To IndexMax
        Ind1 = L                                    ' Cherche plage avec même matricule
        While Cells(L, "K") = Cells(Ind1, "K")
            L = L + 1
        Wend
        Ind2 = L - 1                                ' Sortie plage même matricule, début Ind1, fin Ind2
        datemin = 75000: datemax = 18000            ' Init min et max avec valeurs absurdes min=04/05/2105 et max = 12/04/1949
        For L2 = Ind1 To Ind2                       ' Détermination min max pour un même matricule
            If Cells(L2, "L") < datemin Then datemin = Cells(L2, "L")
            If Cells(L2, "L") > datemax Then datemax = Cells(L2, "L")
        Next L2
        If Ind1 <> Ind2 Then                        ' Si plusieurs fois même matricule alors inscription min max
            Cells(Ind1 - 1, "M") = datemin: Cells(Ind1 - 1, "N") = datemax
        End If
    Next L
    ActiveSheet.[K:N].RemoveDuplicates Columns:=1, Header:=xlYes    ' Suppression matricule doublon
End Sub
 

Pièces jointes

  • AIDEMacro.xlsm
    26.5 KB · Affichages: 2

NoviceTAZA

XLDnaute Nouveau
Bonjour le fil,
@sylvanu merci pour votre aide, j'ai tenté d'exécuter la macro mais le résultat ne correspondait pas à celui attendu. Je vais tout de même me servir de votre code pour l'adapter à mon besoin afin de m'entrainer.
@job75 Merci pour votre solution qui fonctionne très bien sur mon jeu de données. Vous venez de m'apprendre une fonction que je vais sans doute réutiliser.
Bien cordialement,
 

Statistiques des forums

Discussions
312 210
Messages
2 086 279
Membres
103 170
dernier inscrit
HASSEN@45