VBA Test comparaison 2 colonnes excel

Fermé
lucdib Messages postés 2 Date d'inscription dimanche 9 novembre 2008 Statut Membre Dernière intervention 6 mai 2009 - 6 mai 2009 à 18:25
 Obiwan21 - 15 mai 2009 à 13:42
Bonjour,

Je cherche à mettre en place le test suivant dans une appli VBA:

Tester si les valeurs d'une colonne dans un onglet sont présentes dans une autre colonne d'un autre onglet.
Sinon, mettre un message dans msgbox.

Exemple :
Colonne 1, onglet 1:
1
2
3
7
4
5

colonne 2, onglet 2
1
2
3
4
5
6
dans ce cas, le test doit m'indiquer via un msgbox qu'une nouvelle valeur est apparue dans la colonne onglet 1 (en l'occurence la valeur 7)
Y a-t-il un moyen de faire cela en VBA ?
Je un peu fouillé mais je tourne en rond (ou alors je suis fatigué).
Pour l'instant j'arrive seulement à comparer cellules par cellules.
L'idée serait de faire une sorte de RECHERCHEV

Merci d'avance de vos réponses.

1 réponse

La macro ci-dessous permet de comparer 2 listes sur 2 feuilles différentes et d'en extraire les données absentes dans la première liste.


Sub Nouveau()

Range("nom").ClearContents
Sheets("feuil1").Activate
Range("B1").Select
Selection.AutoFilter Field:=2
For k = 1 To ActiveWorkbook.Sheets.Count
If InStr(1, Sheets(k).Name, "feuil1", vbTextCompare) > 0 Then
Sheets(k).Activate
Range("A1").Select
Do While Not IsEmpty(ActiveCell.Value)
numitem = ActiveCell.Value
Sheets("Listrecherche").Activate
Set celldeb = ActiveCell
Set c = Columns(1).Find(numitem, LookIn:=xlValues)
If Not c Is Nothing Then
If c <> celldeb And c.Value = numitem Then
c.Offset(0, 1).Value = 1
End If
End If
Sheets(k).Activate
ActiveCell.Offset(1, 0).Select
Loop
End If
Next
Sheets("ListRecherche").Activate
Selection.AutoFilter Field:=2, Criteria1:="="
Range("A1").Select
Application.StatusBar = "Pret"
If Range("NbListItem").Value <> Range("NbExiste").Value Then
MsgBox "Consulter la liste des nouveaux Items"
End If
Exit Sub

End Sub
2