Tri par

SDR42

XLDnaute Junior
Bonjour,

Etant débutant sur VBA j'aurais besoin d'une aide. Voici mon problème
J'aimerais faire un tri pour chaque entrepôt connaitre la durée de location de chaque type par entrepot, sachant que j'ai des milliers de lignes. Je joint un exemple.

Merci
 

Pièces jointes

  • tri excel download.xls
    29 KB · Affichages: 40
  • tri excel download.xls
    29 KB · Affichages: 46
  • tri excel download.xls
    29 KB · Affichages: 45

R@chid

XLDnaute Barbatruc
Re : Tri par

Bonjour SDR42,
voir Pj si tu aimes faire avec les formules...
Amicalement
 

Pièces jointes

  • tri excel download.xls
    47 KB · Affichages: 49
  • tri excel download.xls
    47 KB · Affichages: 50
  • tri excel download.xls
    47 KB · Affichages: 50

david84

XLDnaute Barbatruc
Re : Tri par

Bonjour,
par VBA c'est bien entendu possible mais pourquoi ne pas tout simplement utiliser un tableau croisé dynamique ?
C'est un outil natif d'Excel qui fait très bien ce que tu veux obtenir.
A+
 

Pièces jointes

  • tri excel download (1).xls
    25.5 KB · Affichages: 40

david84

XLDnaute Barbatruc
Re : Tri par

Re
Pour être franc un code opérationnel afin d'avancer sur mon projet. Et de l'étudier en même temps.
Ok. Ci-joint un code en principe fonctionnel : à toi de l'étudier de ton côté.
Code:
Sub Extraire()
Dim Pl As Range, Pl_Nom(), T, T2, dico, i As Long, j As Long, Nb As Double
Set Pl = Range("E1").CurrentRegion
Set Pl = Pl.Offset(1, 0).Resize(Pl.Rows.Count - 1, Pl.Columns.Count)
Range("L3:N" & Pl.Rows.Count).ClearContents
Pl_Nom = Range("H2:H" & Pl.Rows.Count + 1)
Set dico = CreateObject("scripting.dictionary")
For i = LBound(Pl_Nom) To UBound(Pl_Nom)
If Pl(i, 5) = [M1] Then dico(Pl_Nom(i, 1)) = dico(Pl_Nom(i, 1)) + 1
Next i
T = dico.keys
T2 = dico.items
[M3].Resize(dico.Count) = Application.Transpose(T)
[L3].Resize(dico.Count) = Application.Transpose(T2)
For i = LBound(T) To UBound(T)
For j = LBound(Pl_Nom) To UBound(Pl_Nom)
    If Pl_Nom(j, 1) = T(i) And Pl(j, 5) = [M1] Then Nb = Nb + Pl(j, 3)
Next j
Cells(i + 3, 14) = Nb: Nb = 0
Next i
End Sub
A+
 

Pièces jointes

  • tri excel download (2).xls
    44 KB · Affichages: 34

Discussions similaires

Statistiques des forums

Discussions
312 842
Messages
2 092 733
Membres
105 519
dernier inscrit
faivre-roussel.ivan@orang