Comparer 2 colones d'un classeur pour voir des differences

Bonjour, je vous explique je suis débutant je ne connais le VBA que depuis 4 jours.

Tout d'abord ce qu'il y a à savoir c'est qu'on a 2 classeur, un classeur de "référence" le classeur A et un classeur "du jour" le classeur B.

Ce que j'aimerai faire c'est que dans le classeur A dans la colonne B on a des valeurs toutes differentes les unes des autres et on a les même valeurs dans la colonne B du classeur B à quelque choses près.

J'aimerai faire un code qui me permet de trouver quelles sont les valeurs que l'on trouve dans la colonne B du classeur B et qui ne sont pas dans la colonne B du classeur A, je le rappel toutes les valeurs sont différentes des une des autres dans la colonne.

colonne B (classeur A)colonne B (classeur B)

pignon1

pignon1
pignon2
pignon2
pignon3
pignon3
dent1
pignon4
dent2
dent1

chaine1

dent2
chaine2

Comme dans le tableau ci-contre, ce que j'aimerai remonté c'est que dans le classeur B il y a la valeur "pignon4" que nous ne retrouvons pas dans le classeur A.

Même si les valeurs "chaine1" et "chaine2" sont présentes dans le classeur A et non dans le B, cette information ne m’intéresse pas.

Pouvez-vous m'aider merci.

Bonjour,

je pense qu'une simple formule en Colonne C du (classeur B) peut vous indiquer les valeurs non trouvées dans le (classeur A)

=SIERREUR(RECHERCHEV(B1;'ClasseurA!B1:B500;1;FAUX);"Valeur n'existe pas dans classeurA")

J'ai essayé avec ta formule mais ça ne marche pas, je pense que ce n'est pas un classeur qu'il faut renseigner après la formules RECHERCHE.

Bonjour,

Voici un essai par VBA avec une macro à placer dans un module normal du classeur B (qui sera le classeur exécutant). Il faudra saisir le nom exact du classeur A et éventuellement modifier les index des feuilles de chaque classeur :

Sub listediff()

dim ws1 as worksheet, ws2 as worksheet, dl&, i&, n&, manq()

set ws1 = thisworkbook.sheets(1) 'adapter le cas échéant
set ws2 = workbooks("classeurA.xlsx").sheets(1) 'ADAPTER NOM CLASSEUR et index feuille le cas échéant

with ws1
    dl = .cells(.rows.count, "B").end(xlup).row
    for i = 1 to dl
        if application.countif(ws2.columns(2), .cells(i, 2).value) = 0 then
            n = n + 1
            redim preserve manq(1 to n)
            manq(n) = .cells(i , 2).value
        end if
    next i
    if n > 0 then .cells(1, "D").resize(n, 1) = application.transpose(manq)
end with

end sub 

Edit : Si la formule de Xmenpl fonctionne normalement, en bloquant les références $B$1:$B$500...

Cdlt,

J'ai essayé avec ta formule mais ça ne marche pas, je pense que ce n'est pas un classeur qu'il faut renseigner après la formules RECHERCHE.

Il ne faut pas recopier la formule.

Vous tapez le début et vous faites les sections à la souris avec votre plages de recherche. le nom du classeur sera ajouté automatiquement par excel.

Ensuite avant de tirer vers le bas votre formule vous "fixer la plage de recherche" avec des " $ "

Exemple : =rechercheV(B1; ici on sélectionne à la souris l'autre classeur de B1à B500 ou plus? ; 1 ; faux)

Avant de copier la formule on modifiera la plage de recherche ainsi $B$1:$B$500 pour éviter que les chiffres changent quand vous allez copier la formule.

Merci "3GB" j'ai juste rajouter a ton code

Workbooks.Open Filename:="Classeur_A.xlsx"

Car on ne peux pas accéder au fichier si il n'est pas ouvert

Merci à tous

Rechercher des sujets similaires à "comparer colones classeur voir differences"