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
Obiwan21 - 15 mai 2009 à 13:42
A voir également:
- VBA Test comparaison 2 colonnes excel
- Test performance pc - Guide
- Déplacer une colonne excel - Guide
- Liste déroulante excel - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Formule moyenne excel plusieurs colonnes - Guide
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
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