bonjour le forum

bon je sais que la méthode .find est souvent demandée sur le site et qu'il y a des tutos mais je pense que ma demande est particulière c'est pourquoi je me permets de créer ce post
voilà le résumé de mon besoin
j'ai deux fichiers, à l'aide d'une macro j'importe un fichier dans l'autre avec une création d'onglet (comptage)
une fois cela terminé je dois chercher dans le fichier importé une valeur issu de la colonne A puis rechercher celle ci dans la colonne A de l'onglet (stock)
dès que la valeur est trouvée je souhaite soustraire à la cellule situé à deux colonnes (offset...) la valeur issue de la 3ème colonne de l'onglet comptage
et ainsi de suite
et en tout dernier il me faudrait la somme des valeurs trouvées dans l'onglet comptage pour la soustraire à la dernière ligne de mon tableau stock
voici le début de mon code, excuser mon amateurisme
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

Sub test()

'RECUPERATION DE MON CLASSEUR COMPTAGE
ceclasseur = ActiveWorkbook.Name
'Récupération fichier
    Filt = "Excel Files (*.xls; *.xlsx; *.xlsm),*.xls; *.xlsx; *.xlsm"
    Title = "Selectionnez un Fichier Excel a Importer : "
    choix = Application.GetOpenFilename(FileFilter:=Filt, Title:=Title)
    If choix = False Then
    MsgBox "Aucun fichier choisi"
    Exit Sub
    End If
Workbooks.Open Filename:=choix
nom = Dir(choix)
 
Workbooks(nom).Activate
Cells.Copy
Workbooks(ceclasseur).Activate
ActiveWorkbook.Worksheets.Add
ActiveSheet.Name = "comptage propublic"
Range("A1").PasteSpecial (xlPasteValues)
 
Application.DisplayAlerts = False
Workbooks(nom).Close
Application.DisplayAlerts = True

'DEBUT DE MON CODE POUR COMPARAISON
With Worksheets("STOCK").Range("B2:E500")
  Set c = .Find("FDC01", LookIn:=xlValues)
  If Not c Is Nothing Then
    firstAddress = c.Address
    Do
            With Worksheets("comptage propublic").Range("A1:D500")
            Set d = .Find(c, LookIn:=xlValues)
            If Not d Is Nothing Then
            dAddress = d.Address
            Do
            
            Set d = .FindNext(d)
            Loop While Not d Is Nothing And d.Address <> dAddress
            End If

      Set c = .FindNext(c)
    
    Loop While Not c Is Nothing And c.Address <> firstAddress
  
  End If
End With

End Sub
merci pour votre aide ou piste

david