Compteur

Résolu/Fermé
Tozinho64 Messages postés 43 Date d'inscription vendredi 9 juin 2017 Statut Membre Dernière intervention 23 novembre 2023 - 1 mars 2018 à 21:40
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 2 mars 2018 à 08:12
Bonjour,

Je voudrais avoir deux compteurs sous Excel. Le premier en G11 est juste une somme d'un ensemble de cellule D6:D24(ça c'est facile pour moi). Le second compteur en I11 additionne sa valeur initiale au delta de valeur de la cellule G11 seulement quand G11 augmente.
Exemple:
Au début I11=G11=0
Si G11=2 alors I11=2. Ensuite si G11=1, I11 reste à 2 par contre si G11 passe à 3 (delta de 2 par rapport à sa dernière valeur) I11 s'incréments de ce delta soit I11=2+2=4. Si G11 diminue à 0 par exemple I11 reste à 4 par contre si G11 augment de +3 I11 augmente aussi de +3....

Un bouton permet de reseter I11.

Merci pour votre aide

1 réponse

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
1 mars 2018 à 22:11
Bonjour,

Une petite macro événementielle à mettre dans le code de ta feuille concernée pour obtenir ton résultat :
Dim g11_pre As Double
Private Sub Worksheet_Calculate()
    If [G11].Value = g11_pre Then
        Exit Sub
    ElseIf [G11].Value < g11_pre Then
        g11_pre = [G11].Value
    Else
        [I11].Value = [I11].Value + [G11].Value - g11_pre
        g11_pre = [G11].Value
    End If
End Sub

et la procédure de remise à zéro
Public Sub raz()
    [I11].Value = 0
End Sub
0
Tozinho64 Messages postés 43 Date d'inscription vendredi 9 juin 2017 Statut Membre Dernière intervention 23 novembre 2023
1 mars 2018 à 22:21
Oh merci ca fonctionne trop bien
Enorme...demain je me l'adapte à mon application...

Encore merci
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
Modifié le 2 mars 2018 à 08:20
Bonjour et merci du retour

Tu peux simplifier le code ainsi
Dim g11_pre As Double
Private Sub Worksheet_Calculate()
    If [G11].Value > g11_pre Then
        [I11].Value = [I11].Value + [G11].Value - g11_pre
    End If
    g11_pre = [G11].Value
End Sub
Bonne utilisation
0