Bonjour à tous je suis nouvelle parmi vous!
J'ai quelques notions sur vba à travers ce que j'ai appris sur le net, mais là je bloque![]()
Au fait, J'ai besoin d'un programme pour la comparaison du changement des prix de revient des articles acquis.J'ai deux feuille sur un classeur excel, une base standardisée, et la 2ème où je met les articles dernièrement acquis.
Dans chacune on a les infos suivante
Je veux parcourir les lignes de la feuille "data" (où je saisi les nouveaux articles) à partir du code article trouver le même article sur la 2eme feuille avec les données standardisées. Si le prix de revient est le même renvoyer "stable" dans la dernière colonne de l'article. Sinon comparer les 2 paramètres (prix d'achat et douane) et renvoyer en commentaire sur la dernière colonne le nom du paramètre qui change.
Dans la capture jointe vous verrez à quoi ressemble la première ligne organisant les 2 feuilles
J'ai essayé ce code mais ça me renvoie des erreurs.
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 Sub tester() Dim X As Integer, i As Integer, j As Integer, c As Range Dim TD As String Dim PA As String Dim code As Long X = Application.WorksheetFunction.CountA(Range("A:A")) For i = 2 To X code = Sheets("DATA").Cells(i, 1).Value Set c = Sheets("BASE").Columns(1).Find(code, LookIn = xlValues).Row If Sheets("BASE").Cells(c, 1).Value = Sheets("DATA").Cells(i, 1).Value & Sheets("BASE").Cells(c, 6).Value = Sheets("DATA").Cells(i, 6).Value Then Sheets("DATA").Cells(i, 7).Value = "stable" Else If Sheets("BASE").Cells(c, 1).Value = Sheets("DATA").Cells(i, 1).Value & Sheets("BASE").Cells(c, 6).Value <> Sheets("DATA").Cells(i, 6).Value Then If Sheets("BASE").Cells(c, 4).Value <> Sheets("DATA").Cells(i, 4).Value Then TD = " Taux de douane different " Else TD = " " If Sheets("BASE").Cells(c, 5).Value <> Sheets("DATA").Cells(i, 5).Value Then PA = " Prix d'achat different " Else TD = " " Sheets("DATA").Cells(i, 7) = TD & PA End If Next i End Sub![]()
Partager