Microsoft 365 Dernier résultat par rapport à une valeur

  • Initiateur de la discussion Initiateur de la discussion pompaero
  • Date de début Date de début

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

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

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

Réponses
4
Affichages
382
  • Question Question
Microsoft 365 Dernière donnée
Réponses
5
Affichages
455