Microsoft 365 Dernier résultat par rapport à une valeur

pompaero

XLDnaute Impliqué
Bonjour le forum,

Dans le fichier joins qui me sert d'exemple, j'aimerai si possible une formule qui récupère le dernier résultat enregistré par rapport à une valeur.
Par exemple :
Cellule V1 = valeur de recherche (VIM 27) et en W1 = le dernier résultat enregistré de la colonne i dans le tableau (45) de manière à pouvoir mettre mes graphique jauge automatiquement à jour.
J'arrive à faire fonctionner les graphiques en complétant manuellement la colonne X pour le test. J'ai tenté la fonction MAX également mais donne la dernière valeur la plus élevé et ce n'est pas ce que je veux.
Pourriez-vous amener une possibilité à ça, merci.
Je reste à disposition, si besoin de renseignement.

Cdlt
pompaero.
 

Pièces jointes

  • Administratif-13.xlsm
    948.6 KB · Affichages: 8

pompaero

XLDnaute Impliqué
Bonsoir Chris401, job75

Merci de votre retour.
Je viens de tester vos propositions cela fonctionne à merveille comme je l'imaginai.

Maintenant, comment peut-on améliorer ma macro "Private Sub Worksheet_Change(ByVal Target As Range)" qui met à jour les jauge en manuel (ici en col X pour le test) en macro qui automatiserai les graphiques à chaque enregistrement ? Sachant que les cellules en col W est la valeur en %.
Si cela est possible, ça serai le top.
Merci

Cdlt
pompaero
 

Pièces jointes

  • Administratif-13.xlsm
    943.1 KB · Affichages: 4

Chris401

XLDnaute Accro
Bonjour pompaero, job75

Pour avoir les % en colonne W, tu modifies la formule (et le format de cellule)
Code:
=(DECALER($I$1;MAX(LIGNE(TbCompteur[Véhicule])*(TbCompteur[Véhicule]=V1))-1;;;))/100

Je considère que tu entres manuellement les données dans ton tableau ; le code :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False

If Not Application.Intersect(Target, [TbCompteur]) Is Nothing Then
     ActiveSheet.Shapes.Range(Array("AiguilleA")).Rotation = Range("W1").Value * 185
     ActiveSheet.Shapes.Range(Array("AiguilleB")).Rotation = Range("W2").Value * 185
     ActiveSheet.Shapes.Range(Array("AiguilleC")).Rotation = Range("W3").Value * 185
     ActiveSheet.Shapes.Range(Array("AiguilleD")).Rotation = Range("W4").Value * 185
     Range("U1").Select
End If

Application.ScreenUpdating = True
End Sub

Bonne journée
Chris
 

Discussions similaires