Bonjour à tous,
Dans mon tableau j'ai une colonne "Stock"(calculé) et une autre colonne "Stock min." je voudrai lancer une macro d'envoi de mail automatique lorsque le stock est inférieur au stock min. Alors j'aimerai comparer la valeur affiché dans ces deux cellules.
Actuellement, je fonctionne de cette façon :
Je compare les deux colonne avec la formule (dans la colonne H) : =SI(@stock<@stockmin;1;""), ce qui me permet ensuite de créer une condition qui lorsqu'une cellule dans la colonne H est modifié une macro d'envoi de mail automatique est lancée.
Mais le problème avec ce système est que la macro se lance à chaque modif de calcul même si le stock n'est pas inférieur au stock min.
Ici le code que j'utilise actuellement :
Dans mon tableau j'ai une colonne "Stock"(calculé) et une autre colonne "Stock min." je voudrai lancer une macro d'envoi de mail automatique lorsque le stock est inférieur au stock min. Alors j'aimerai comparer la valeur affiché dans ces deux cellules.
Actuellement, je fonctionne de cette façon :
Je compare les deux colonne avec la formule (dans la colonne H) : =SI(@stock<@stockmin;1;""), ce qui me permet ensuite de créer une condition qui lorsqu'une cellule dans la colonne H est modifié une macro d'envoi de mail automatique est lancée.
Mais le problème avec ce système est que la macro se lance à chaque modif de calcul même si le stock n'est pas inférieur au stock min.
Ici le code que j'utilise actuellement :
VB:
Private Sub Worksheet_Calculate()
Vérif
End Sub
Private Sub Worksheet_Change1(ByVal Target As Excel.Range)
If Intersect(Target, Range("H1:H100")) Is Nothing Then Exit Sub
Vérif
End Sub
Private Sub Vérif()
If VarType(Range("H1:H100")) = VarType(ValPrec) Then _
If ValPrec = Range("H1:H100") Then Exit Sub
MsgBox "test"
ValPrec = Range("H1:H100")
End Sub
'Dans le "thisworkbook"'
Private Sub Workbook_Open()
Feuil1.ValPrec = Feuil1.Range("H1:H100")
End Sub