Rechercher les cinq dernières références [Résolu/Fermé]

Signaler
-
 kit24be -
Bonjour,

je désire rechercher les 5 dernières valeurs d'une référence dans une
liste qui compte plusieurs centaines de références différentes et en faire la moyenne.

les références sont en colonne B et les valeurs en colonne C

Merci d avance pour votre aide

2 réponses

Messages postés
16260
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
23 octobre 2020
3 051
Bonjour

proposition:
Option Explicit
Sub Cinq_dernieres()
Dim Derlig As Long, Ref As String, Lig As Long, Nbre As Byte, Somme As Double

Derlig = Columns("B").Find("*", , , , , xlPrevious).Row
Ref = Range("choix")
If Application.CountIf(Range("B2:B" & Derlig), Ref) < 5 Then GoTo inferieur

Lig = Derlig + 1
For Nbre = 1 To 5
     Lig = Range("B2:B" & Lig).Find(Ref, , , , , xlPrevious).Row
     Somme = Somme + Cells(Lig, "C")
     Lig = Lig - 1
Next
Range("moyenne") = Somme / 5

Exit Sub
inferieur:
MsgBox "nombre de " & Ref & " inférieur à 5", vbCritical

End Sub


et la maquette de travail
https://www.cjoint.com/?3IeijTCgV0h

remarque: "plusieurs centaines" étant très subjectif, j'ai déclaré derlig et lig en long... :o)



Michel
Messages postés
16260
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
23 octobre 2020
3 051
errata :o/
remplacer
Lig=derlig+1 par
Lig=Derlig
Bonjour,

un très grand merci pour votre réponse. Cela fonctionne super bien.
Bonne journée