Copier coller une nouvelle valeur detectée sur un autre classeur

Bonjour,

Je souhaite faire une macro qui me permet de comparer une liste de valeur d'un classeur (A) par rapport à un autre classeur (B) qui est le fichier de donnée source qui contient ces memes valeurs.

1) C'est une question bête mais je voudrais savoir comment faire s'il détecte une nouvelle valeur dans (B) et de le recopier dans (A) dans la dernière cellule non vide. dans le elseif

2) D'ajouter le nom de l'item dans la msgbox.

Sub MaJPerimetre()

Dim curr_wb As Workbook
Dim wb As Workbook
Dim perimetre As Worksheet
Dim commande As Worksheet

Dim path As String
Dim nom_fich As String
Dim i  As Integer
dim j as integer

Set curr_wb = ThisWorkbook
commande = curr_wb.Sheets("commande1")

path = curr_wb.Sheets("pilotage").Cells(11, 2)
nom_fich = Dir(path)

Workbooks.Open path & nom_fich
Set wb = Application.ActiveWorkbook
    For i = 2 To commande.Cells(Rows.Count, 1).End(xlUp).Row
        For j = 2 To wb.Sheets("commande1_maj").Cells(Rows.Count, 1).End(xlUp).Row
            If wb.Sheets("commande1_maj"").Cells(j, 1) = isin.Cells(i, 1) And wb.Sheets("commande1_maj").Cells(j, 3) = "Oui" Then
                commande.Cells(i, 8) = "validé"
            ElseIf wb.Sheets("commande1_maj").Cells(j, 1) <> commande.Cells(i, 1) Then

                msgbox " Un nouveau Item ( nom de l'item) a été ajouté à la commande"

            End If
        Next
        j = j + 1
    Next

End Sub

Bonjour,

Un essai ...

S'il faut coller dans A ou ajuster au besoin ...

commande.Cells(Rows.Count, "A").End(xlUp).Row 1 = wb.Sheets("commande1_maj").Cells(j, 1)

ric

Bonjour à tous,

Juste une démo qui compare 2 fichiers et ajoute les items manquants dans la liste, ici sans double boucle "i,j" de comparaison.

Sub compare()
Dim T As Variant, i As Integer, S As String

    With Sheets("Feuil1")
        T = T_LireB(ThisWorkbook.Path & "\" & .Range("E1").Value)
        .Range("X1").Resize(UBound(T, 1), UBound(T, 2)) = T
        T = T_Compare
        .Range("X1:X10000").ClearContents
        .Range("A" & .Cells(Rows.Count, 1).End(xlUp).Row + 1).Resize(UBound(T, 1), UBound(T, 2)) = T
    End With

    S = "Références manquantes dans fichier actif :" & vbCrLf
    For i = 1 To UBound(T)
        S = S & T(i, 1) & vbCrLf
    Next i
    MsgBox S
End Sub

Les 2 fichiers sont à placer dans un même dossier

Pierre

0comparer-1.zip (38.40 Ko)
Rechercher des sujets similaires à "copier coller nouvelle valeur detectee classeur"