Comparer 2 listes avec VBA suivant des conditions

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.

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
capture

Bonjour,

Une proposition à étudier.

ALT F8, exécuter la procédure.

Cdlt.

9fayrouza.xlsm (24.08 Ko)

ça me retourne des erreurs :/

Re,

Des erreurs dans mon fichier ou ton fichier que tu n'as pas joint?

Et quel est le message d'erreur?

Fais un effort et soit précis dans tes propos.

Cdlt.

Je m'excuse je suis nouvelle du coup j'ai pas vu le document joint.

ça marche à merveille!

Merci beuacoup

Re,

Tu es excusé, mais cela ne t’empêche pas de clore le sujet.

Cdlt.

Rechercher des sujets similaires à "comparer listes vba suivant conditions"