Bonjour a tous,
Je suis debutant sur Excel et souhaiterait creer un petit fichier permettant le suivant de consommation de vehicules.
J'ai plusieurs vehicules (Pick Up, truck, bus). Pour chaque chaque vehicule, j'ai la consommation moyenne depuis le debut qu'on utilise ce vehicule.
J'aimerai donc rechercher les 3 vehicules consommants le plus. En filtrant par type. J'ai donc commence avec mes pick up, en utilisant la petite macro ci dessous.
Cette macro fonctionne mais pas tout le temps !!!! Je ne comprend pas pourquoi.
Par moment elle veut me trouver que 2 valeur si j'en veux 3 un message d'erreur s'affiche, parfois qu'une seule. J'ai l'impression que ca soit en fonction des valeurs du tableau. J'ai pourtant fais attention a ne pas avoir de valeurs identiques, nul et de bien avoir 3 valeur a sélectionner.
Si quelqu'un pourrais m'aider ca serait super sympa. Merci a vous tous.
Dim i As Integer
Dim ValMax As Long
Dim txt As Variant, cel As Range
Dim plage As Range
Sheets("Data").Select
'Selection de la plage de recherche
txt = "PICK UP"
Sheets("Data").Select
For Each cel In Range("B6", [B3100].End(xlUp))
If UCase(cel) = txt Then _
Set plage = Union(cel.Offset(0, 3), IIf(plage Is Nothing, cel.Offset(0, 3), plage))
Next
If Not plage Is Nothing Then _
plage.Select: MsgBox "Nombre de zones : " & plage.Areas.Count
'Je recherche mes 3 plus grosses valeurs
For i = 1 To 3
'Récupération des 3 plus grande valeur
ValMax = Application.WorksheetFunction.Large(Selection, i)
'Recherche de la valeur dans la meme plage de recherche
With Selection.Find(ValMax, , xlValues).Font
'On met en gras
.Bold = True
'On colore en rouge
.Color = vbRed
End With
Next
Voici egalement ma liste de valeur, que j'utilise pour tester cette macro. Avec cette liste, la macro ci dessus me trouve que 2 grandes valeur, 92 et 45. si j'en demande 3 ca m'affiche un message d'erreur. '91'
Merci a vous tous
1,00
2,00
3,00
4,00
5,00
32,00
45,00
21,00
92,00
38,00