Comparaison de deux colonnes

Bonsoir.

J'ai besoin d'une petite macro.

J'ai deux colonnes:

  • une colonne contenant les anciennes valeurs (colonne B)
  • une colonne contenant les nouvelles valeurs (colonne A)

La colonne nouvelles valeurs contient les anciennes valeurs + d'autres valeurs qui se sont rajoutées.

Je voudrais que la macro me donne sur une autre colonne (la C par exemple) les nouvelles valeurs qui se sont rajoutées.

Merci.

244classeur1.xlsm (8.26 Ko)

Bonsoir tristandemerino le forum

tu mets la macro dans un module standard

a+

Papou

Sub chercher()
Dim i&, a&, fin&
    With Feuil1
        fin = .Range("A" & Rows.Count).End(xlUp).Row
        For i = 2 To fin
            For a = 2 To fin
                If .Cells(i, 1) = .Cells(a, 2) Then
                    GoTo 1
                End If
            Next a
            .Cells(i, 3) = .Cells(i, 1)
1       Next i
    End With
End Sub
524tristandeetc.xlsm (19.80 Ko)

Merci paritec de m'avoir répondu, c'est sympa.

Comme je suis grand débutant en macro, je cherche à comprendre le fonctionnement pour pouvoir

ensuite être autonome.

Dans les cours (de base) que j'ai parcouru sur le net, j'ai pas vu les histoires de "GoTO".

Pourrais-tu m'expliquer un peu plus ton code et me dire si il y aurait un autre moyen.

Cdlt,

Tristan

Bonsoir à tous,

Dans la mesure du possible, il vaut mieux éviter les Goto

autre code

Sub compare()
Dim i%
        Columns("c").Clear
    For i = 2 To Range("a" & Rows.Count).End(xlUp).Row
        If Application.CountIf(Range("b:b"), Cells(i, "a")) = 0 Then
            Range("c" & Rows.Count).End(xlUp)(2) = Cells(i, "a")
        End If
    Next i
        Range("c1") = "Ajout"
End Sub

Amicalement

Claude

631tristan-colonnes.xlsm (15.99 Ko)
dubois a écrit :

Bonsoir à tous,

Dans la mesure du possible, il vaut mieux éviter les Goto

autre code

Sub compare()
Dim i%
        Columns("c").Clear
    For i = 2 To Range("a" & Rows.Count).End(xlUp).Row
        If Application.CountIf(Range("b:b"), Cells(i, "a")) = 0 Then
            Range("c" & Rows.Count).End(xlUp)(2) = Cells(i, "a")
        End If
    Next i
        Range("c1") = "Ajout"
End Sub

Amicalement

Claude

Bonsoir Dubois.

Merci à toi aussi pour ton code.

Peux tu m'expliquer où tu fais la comparaison, surtout que countif permet juste de compter les occurences...

(je vois pas non plus de strcomp)

re,

Je boucle sur la colonne "A"

si la cellule n'existe pas en colonne "B" soit (CountIf=0) ou =NB.SI(B:B;A2) =0

alors j'écris la cellule en colonne"C"

c'est une méthode comme une autre,

pourquoi, c'est pas bon ?

Claude

Rechercher des sujets similaires à "comparaison deux colonnes"