Macro la fonction si + en automatique en boucle toutes les 5 min

Bonjour

j'ai besoin d'aide pour creer une macro

voila mon probleme

dans la colonne D il y a des Ok et des NOK

je voudrais qu'une fenetre msgbox s'ouvre quand il y a un Nok

dans le MSGBOX il y a ecrit a l'interieur le numero qui se trouvera sur la meme ligne que le NOK en colonne 1

dans mon example MSGbox ( 11111 est nok) si il y a plusieur nok ecrire toutes les lignes

l'autre probleme la macro doit ce lancer en automatique toutes les 5 min

mon fichier sera toujours ouvert mais

5classeur1.xlsx (13.25 Ko)

je puisse travailler sur d'autre fichier en meme temps

merci a vous tous

Bonjour,

Pour la génération du message c'est possible de partir sur ça:

Sub message()
Dim tableau As Variant
Dim texte As String

tableau = Range("A2").CurrentRegion.Value

For i = 1 To UBound(tableau, 1)
    If LCase(tableau(i, 4)) = "nok" Then
        texte = texte & IIf(texte = "", "", Chr(10)) & tableau(i, 1) & " est NOK"
    End If
Next i

If Not texte = "" Then
    MsgBox texte, vbInformation
Else
    MsgBox "Aucun élément NOK", vbInformation
End If
End Sub

En revanche lancer ça toutes les 5 min je suis moins partant, on parle d'un popup qui va arriver devant vous quoi que vous soyez entrain de faire toutes les 5 min et qui va vous demander d'appuyer sur OK pour revenir là où vous en étiez. Vous tapez un message? rien à faire, le popup s'ouvre tel un addware. Pas la meilleure idée je pense?

Bonjour

cela fonctionne tres bien je vous en remercie

maintenant je voudrais qui soit en automatique toutes les 5 min ou plus

le fichier reste ouvert tout le temps mais que je puisse travailler sur d'autre fichier en meme temps est ce que quelqu 'un a une idee comment faire.

je vous en remercie a l'avance

Bonjour,

encore faudrait-il savoir ce qui amène un nok ?
Une saisie ? Une formule ? Une requête ? Laquelle ?
Ton fichier doit être représentatif de la réalité. Je n'ai pas l'impression que ce soit le cas.
Si le changement est détectable tu seras informé tout de suite plutôt que de superviser toutes les x min
eric

Bonjour

En faite le fichier c'est une extraction d'un ERP.

Celui-ci est remis à jours en automatique toutes les 5min voir ci dessous ( propriétés de connexion)

image

comment je pourrais faire.

Merci

Bonjour,

on va supposer qu'il y a un événement Change.
Ca évitera de mettre un timer et tu auras l'info dès son apparition.

A mettre dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Columns("D")) Is Nothing Then
        If Application.CountIf(Columns("D"), "nok") > 0 Then 'Range("D:D")
            message
        End If
    End If
End Sub

Tu veux pouvoir travailler sur d'autres classeurs mais tu auras des limitations.
A chaque lancement d'une macro, Excel perd des infos et tu ne pourras plus annuler les actions précédentes.
eric

Rechercher des sujets similaires à "macro fonction automatique boucle toutes min"