Pop up automatique

bonjour j'ai mon pop up suivant

Dim v, v2

v = Worksheets("poids total").Cells(5, 1).Value

v2 = Worksheets("poids-par-produit").Cells(6, 1).Value

If v <> v2 Then MsgBox "!! ATTENTION PROBLEME DE TOTALISATION !!", vbInformation

'

End Sub

serait-il possible de rendre ce pop up automatique ? par exemple renvoyer le message toutes les 5 minutes si la valeur n'a pas été corrigé

parce que je suis obligé d'exécuter le macro manuellement

merci d'avance

Salut,

Tu peux mettre ta condition dans un event Change (directement dans le code de la feuille). Cela va exécuter automatiquement la macro à chaque changement sur la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim v, v2
    v = Worksheets("poids total").Cells(5, 1).Value
    v2 = Worksheets("poids-par-produit").Cells(6, 1).Value

    If v <> v2 Then MsgBox "!! ATTENTION PROBLEME DE TOTALISATION !!", vbInformation
End Sub

@+

Yo,

AlexP1609, je suis pas sur que c'est vraiment ce qu'il à besoin, mais l'idée d'utiliser le OnChange est bonne !

Ce qu'il peux être fait c'est d'utiliser une variable Public avec l'événement change !

Dans ton module de Workbooks:

Public BonneValeur as boolean

Private Sub Worksheet_Change()
    Dim v, v2
    v = Worksheets("poids total").Cells(5, 1).Value
    v2 = Worksheets("poids-par-produit").Cells(6, 1).Value

    If v = v2 Then
     BonneValeur = True
     Else
     BonneValeur = False
     End If
     While BonneValeur = False
        If v <> v2 Then
          MsgBox "!! ATTENTION PROBLEME DE TOTALISATION !!", vbInformation
          Elseif v = v2 then
           BonneValeur = True
          End if
         Application.Wait (Now + TimeValue("0:05:0"))
     Wend
End Sub

slt Alex j'ai essayé ton programme mais lorsque je l'exécute c'est le logiciel qui attend pendant 5min et il m'est impossible de l'utiliser

peut être que cela vient de la dernière écriture :

Application.Wait (Now + TimeValue("0:05:0"))

on peut pas faire en sorte que ce soit le macro qui attend 5 min et pas l'application ?

Voici un exemple avec un timer de 5 minutes,

Nomme une cellule dernierChangement sur une feuille autre que celle de saisie (dans mon exemple, la cellule A1 de la feuille main) et voici la macro :

Private Sub Worksheet_Change(ByVal Target As Range)
    If DateAdd("n", 5, [dernierChangement].Value) < Now Then
        [dernierChangement].Value = Now

        Dim v, v2
        v = Worksheets("poids total").Cells(5, 1).Value
        v2 = Worksheets("poids-par-produit").Cells(6, 1).Value

        If v <> v2 Then MsgBox "!! ATTENTION PROBLEME DE TOTALISATION !!", vbInformation
    End If
End Sub

@+

re

j'ai remplacé le code par celui que tu viens de me donner mais quand je l'execute ça me marque

"erreur de compilation

end sub attendu"

Tu peux donner ton code complet ?

Tu as bien mis la dernière ligne (End Sub) ? Tu n'as pas deux sub d'ouvert ?

Sur quelle ligne exactement tu as le debuggage ?

voici le code que j'ai rentré

Sub PopUp()

'

' PopUp Macro

'

Private Sub Worksheet_Change(ByVal Target As Range)

If DateAdd("n", 5, [dernierChangement].Value) < Now Then

[dernierChangement].Value = Now

Dim v, v2

v = Worksheets("poids total").Cells(5, 1).Value

v2 = Worksheets("poids-par-produit").Cells(6, 1).Value

If v <> v2 Then MsgBox "!! ATTENTION PROBLEME DE TOTALISATION !!", vbInformation

End If

End Sub

la premiere ligne "Sub PopUp ()" est surlignée en jaune

et la deuxieme ligne "PopUp Macro" est écrite en verte

Supprime la ligne Sub PopUp()

j'ai supprimé la première ligne mais quand je fais afficher les macro il n'y est plus

C'est normal, tu ne la lances pas manuellement, elle se lance toute seule quand tu modifies une cellule.

Rechercher des sujets similaires à "pop automatique"