Worksheet calculate

guigui76

XLDnaute Occasionnel
Bonjour je termine ce matin mon projet masi j'ai un souci :" nom ambigue detecte Worksheet_Calculate"

Pouvez-vous m'aidez?


Option Explicit
Dim MemoCell As String

Private Declare Function Beep Lib "Kernel32" (ByVal Fq As Long, ByVal Tm As Long) As Long

Private Sub Worksheet_Calculate()
On Error Resume Next
If Cells(181, 2) <> MemoCell Then
Cells(181, 1) = 1 = " & Cells(181, 2).Value"
MemoCell = Cells(181, 2)
Call toto
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$2" And Cells(181, 2) <> MemoCell Then
Cells(181, 1) = 1 = " & Cells(181, 2).Value"
MemoCell = Cells(181, 2)
Call toto
End If
End Sub

Sub toto()
If Range("b181") = 1 Then
ActiveSheet.Shapes("253").Select
Selection.Verb Verb:=xlPrimary
MsgBox "Attention ALERTE!!!"
End If
End Sub


Private Sub Worksheet_Calculate(glyoxal)
Dim cel As Range
On Error Resume Next 'en cas de valeur d'erreur en ligne 12
For Each cel In Range("O13:IV13")
If Application.Count(cel.Offset(-2).Resize(3)) = 3 And (cel < 8.5 Or cel > 11) Then _
MsgBox "Le tonnage de Glyoxal, ne correspondant pas aux attentes, veuillez verifier le tonnage et vous référé à Mr Papaux pour plus d'information.", 16
Next
End Sub
 

Papou-net

XLDnaute Barbatruc
Re : Worksheet calculate

Bonjour guigui76,

Dans ton code, tu as 2 Sub Calculate (est-ce volontaire ?). Tu dois renommer celle qui n'est pas rattachée à l'événement Calculate de ta feuille (ou bien la mettre dans un autre module de code.

Cordialement.

Oups, collision ! Bonjour Hasco.
 

guigui76

XLDnaute Occasionnel
Re : Worksheet calculate

Je vous joint mon fichier
le premier calculate est utilisé pour le comptage du temps entre b2 et maintenant() ce qui me donne une alarme quan ils sont égal
le deuxieme me verifie que la masse charger soit entre 8,5 et 11 tonnes.
La plus inportante est la deuxieme.
 

Pièces jointes

  • vierge 2.zip
    48 KB · Affichages: 30
Dernière édition:
G

Guest

Guest
Re : Worksheet calculate

Re,

Tu ne peux pas avoir 2 procédures de même nom dans un module, c'est incontournable.

Worksheet_Calculate() est appelée automatiquement par excel après le recalcul de la feuille.

Donc renomme Worksheet_Calculate(glyoxal) en autre chose et change les appels à cette procédure avec le nouveau nom (CTRL-H ou editon/remplacer)

A+
 

Statistiques des forums

Discussions
312 318
Messages
2 087 209
Membres
103 493
dernier inscrit
Vidal Salvador