Bonjour,

J'ai la macro suivante:
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
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Err_SelectionChange
Dim Plage As Range
Dim Plage2 As Range
 
Application.ScreenUpdating = False
Set Plage = Range("I4:I700")
 
'Sort de la routine si ce n'est pas une cellule de produit
If Application.Intersect(ActiveCell, Plage) Is Nothing Then _
         GoTo Sort_SelectionChange
 
'Vérifie qu'une seule cellule est sélectionnée
If Target.Count > 1 Then
    MsgBox "Veuillez ne sélectionner qu'une seule cellule"
    GoTo Sort_SelectionChange
End If
 
'Lance la macro pour copier le produit choisi
Call Incorporer_Ventes
 
Sort_SelectionChange:
Application.EnableEvents = True
Application.ScreenUpdating = True
Exit Sub
Err_SelectionChange:
MsgBox Err.Description, vbCritical + vbOKOnly, "ERREUR EXCEL N°" & Err.Number
Resume Sort_SelectionChange
End Sub
Mon problème est le suivant: la macro actuelle surveille bien la zone Range("I4:I700") en lançant la macro "Incorporer_Ventes", mais je n'arrive pas à modifier celle-ci pour quelle me surveille une deuxième zone sur la même feuille, à savoir la zone Range("C4:C700"). Pour résumer je souhaiterais que si le contenu de la première zone change, la macro "Incorporer_Ventes" soit lancée et si le contenu de la deuxième zone change la macro "Incorporer_Ventes2" soit lancée.

Merci par avance de votre aide.

NB.: est-il possible de récupérer la valeur de la cellule avant changement, par exemple si le contenu de la cellule est "1" et que je la modifie en "2" j'arrive à récupérer la valeur "2" mais je ne sais pas comment récupére le "1".

Jarault