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
Partager