Bonjour,
J'ai la macro suivante:
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.
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
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
Partager