Bonjour,
J'essaye de faire une macro qui ferai la chose suivante:
dans le "classeur1" , il y a des références en feuille "analysis" en colonne A
dans le "classeur2" , il y a des références en feuille "famille" en colonne A
Je souhaite parcourir toute les références présentes dans le classeur1 et chercher si la valeur existe dans le classeur2. Si elle n'existe pas dans le classeur2, alors je veux supprimer la ligne de la référence dans le classeur1.
je pense qu'il faut faire un find mais je ne maitrise pas très bien cette méthode alors j'ai testé avec une boucle: voici un début de code mais il y surement mieux.
Aussi je sais pas si c'est important mais il faut tester les références présentes dans le classeur1 et celles présente sont celles qui restent déjà après avoir filtrer pas mal de références. Il y a donc plusieurs filtres actifs pendant la recherche des références présentes dans le classeur1
Pouvez-vous m'aider svp?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 Sub Recherche() Application.ScreenUpdating = False Dim LigFin As Long Dim NumLot As Long Dim LigDeb As Long Dim lig As Long Dim LigNumLot As Long If ActiveSheet.AutoFilterMode = True Then ActiveSheet.AutoFilterMode = False End If LigFin = Sheets("analysis").Cells(Rows.Count, 1).End(xlUp).Row LigDeb = 2 LigNumLot = 0 For lig = LigDeb To LigFin If Workbook("classeur1").Sheets("analysis").Cells(lig, 1).Value = Workbook("classeur2").Sheets("famille").Cells(lig, 1).Value Then LigNumLot = lig Workbook("classeur1").Worksheets("analysis").Cells(LigNumLot, 1).EntireRow.Delete End If Next lig End Sub
Partager