Bonjour
je désire finir cette macro , mais je bloque car je connais pas trop le langage VB et j'essaie de faire ce que je peux .

je désire récupérer la valeur de la cellule qui à été changé et définir les cellules qui sont concernés par l’évènement change (dans mon cas c'est de (F11) à (ED11)) car je veux pas que ma fonction soit appelé que pour des changements sur la plage de cellules que je désigne.

le reste est d'aller chercher les valeurs correspondantes au champs recherché dans une autre feuille afin de les insérer dans la feuille en cour .

merci d'avance pour votre contribution

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)
'désigner un plage d'adresse de cellule concérné par le changement
MsgBox "La valeur de " & Target.Address & " vient d'être changée"
'stocker la valeur de l'adresse de la cellule dans une variable
'stocker le num de colonne changé dans y
Call Test
End Sub
 
Sub Test()
 
dim FC AS Integer ,DF As Integer ,AM As Integer, PRS As Integer , BATCH As Integer 
dim Date As Date
'faire une recherche sur la variable dans la deuxiéme feuille "cables data"
Cible = c
    On Error Resume Next
    x = Apllication.Match(Cible, ThisWorkbook.Worksheets("PRS data").colomns("A:A"), 0)
If x = 0 Then
  MsgBox "Valeur" & Cible & "non trouvée."
 Else
 MsgBox "Valeur " & Cible & " trouvée dans la ligne:" & x
ThisWorkbook.Worsheets("cables data").Cells(x, 5).Value = FC: ActiveSheet.Cells(14, y) = FC
ThisWorkbook.Worsheets("cables data").Cells(x, 4).Value = DF: ActiveSheet.Cells(16, y) = DF
ThisWorkbook.Worsheets("cables data").Cells(x, 8).Value = AM: ActiveSheet.Cells(19, y) = AM
ThisWorkbook.Worsheets("cables data").Cells(x, 11).Value = PRS: ActiveSheet.Cells(34, y) = PRS
ThisWorkbook.Worsheets("cables data").Cells(x, 12).Value = BATCH: ActiveSheet.Cells(35, y) = BATCH
ThisWorkbook.Worsheets("cables data").Cells(x, 13).Value = Date: ActiveSheet.Cells(36, y) = Date
 
     End If
End Sub