Mettre en pause 1h ma macro après son exécution

@Galopin

Le

Option Explicit

est nécessaire ?

Avec le point d'arret posé, une valeur ajouté dans la colonne E, je n'arrive pas à activer le debogage (compilation OK).

Peut-etre un point important: les valeurs qui s'affichent dans ma colonne E proviennent de formules. Cela a-il un impact ?

oooo

@X Cellus

Par contre (TpsO6 - TpsO5 = Tps05) > 0.4167 … C'est quoi cette formule avec Tps05 (zéroCinq).

Ma formule c'est TpsO6-TpsO5 > 0.4167 . Pourquoi ce changement.

Une erreur de ma part (1 de plus), merci !

Tu peux créer des fonctions en leur donnant un nom particulier mais cela est différent. Mis à part cette erreur tu as avancé. J'ai vu l'introduction d'une date en O7 qui permettra de pouvoir vérifier un changement de jour pour vider O5. Mais il faudra prévoir de la sauvegarder car O7 est basé sur maintenant (date Jour).

Tout à fait, après c'est du bonus pour visualiser plus aisément je suppose. Le code fonctionne(ra ) aussi sans.

Bonjour Zouarv,

Ok, pas de souci, cela peut arriver de rajouter un terme sans voir qu'il est en trop puis de corriger ensuite.

Tu l'aurais vu de toute façon mais dans le feu de l'action on manque de recul parfois.

A mon avis tu as presque finis...

Bonne continuation.

Mon dieu... Quelle salade !

Option Explicit n'est pas obligatoire c'est juste conseillé (Car ça oblige à bien déclarer toutes les variables...)

Quand à cette macro finalement elle n'a pas lieu d'être.

Renomme là différemment Sub rosso ou Sub Galopin ou Sub Papillon mais par pitié :

Plus de WorkSheeet_Change et plus de Target....

Au point ou tu en es tu devras aussi supprimer

    If Target.Cells.Count > 1 Then Exit Sub
    Set xRg = Intersect(Range("E1:E250"), Target.Value) ' cette range est dans une autre feuille que "Grafico" qui est "Leakage Value"
    If xRg Is Nothing Then Exit Sub

Et probablement aussi

On error resume Next

qui n'est qu'une manière de masquer les problèmes.

Moyennant quoi le reste devrait rouler.

Mais bien sur dans ces conditions la macro ne se lancera pas toute seule : Une macro

Private Sub WorkSheeet_Change(Byval Target as Range)

ne se lance toute seule que lorsqu'elle se trouve dans le module de la feuille hôte et quand Target est modifié par l'utilisateur (et non par une formule !)

3ws-change.xlsm (13.25 Ko)

A+

Je change de direction radicalement pour moi:

Private Sub WorkSheeet_Change()

Dim xRg As Range

Dim Tps05 As Date
Dim Tps06 As Date

For ligne = 1 To Sheets("Leakage value").Range("E1:E400").Rows.Count

Set Col = Sheets("Leakage value").Range("E1:E400" & ligne)

    TpsO5 = Sheets("Grafico").Range("O5").Value
    TpsO6 = Sheets("Grafico").Range("O6").Value
    TpsO6 = TimeValue(Now())
    Sheets("Grafico").Range("O7") = TimeValue(Now())
    'Set xRg = Intersect(Worksheets("Leakage value").Range("E1:E250"), Target) 'Sans .Value ici !
    'If xRg Is Nothing Then Exit Sub

    If TpsO5 = "" And Col >= 0.6 And Col <= 0.9 Then Call envoi_mail_giallo
    If TpsO5 = "" And Col >= 0.9 And Col <= 1.1 Then Call envoi_mail_arancia
    If TpsO5 = "" And Col > 1.1 Then Call envoi_mail_rosso
    TpsO5 = TpsO6
    If IsNumeric(Col) And TpsO5 <> "" And Col > 1.1 And TpsO6 - TpsO5 > 0.4167 Then
    Call envoi_mail_rosso
    Else: Exit Sub
    End If

   Next
End Sub
Rechercher des sujets similaires à "mettre pause macro execution"