Bonjour, je suis nouveau et pas très doué en VBA, j'implore donc votre aide.

Voici mon problème :


En gros on a : A1 A2 A3 A4 etc. chacune de ses cellules contiennent =somme(A2:A10) =somme(B2:B10) etc...

Le but de la macro : lorsque A1 change : mail 1 s'envoie, lorsque B1 Change B2 s'envoie etc.
Mon problème : j'ai un début de code mais si B1 change c'est mail 1 et 2 qui s'envoie... je n'arrive pas à envoyer qu'un seul mail correspondant.

mail1 et mail2 sont les macros d'envoie de mail (elles marchent bien, déjà testées)

le code utilisé :

Code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
Public ValPrec1
Public ValPrec2
 
Private Sub Worksheet_Calculate()
  Vérif1
  Vérif2
End Sub
 
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
  Vérif1
 
  If Intersect(Target, Range("B1")) Is Nothing Then Exit Sub
  Vérif2
 
End Sub
 
Private Sub Vérif1()
  If VarType(Range("A1")) = VarType(ValPrec1) Then _
    If ValPrec1 = Range("A1") Then Exit Sub
    mail1
  ValPrec1 = Range("A1")
    End Sub
 
   Private Sub Vérif2()
 
    If VarType(Range("B1")) = VarType(ValPrec2) Then _
    If ValPrec2 = Range("B1") Then Exit Sub
   mail2
  ValPrec2 = Range("B1")
End Sub