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 33 34 35 36 37 38 39
| Sub supprimedoublons()
Dim G1 As Worksheet
Dim G2 As Worksheet
Dim PL As Range 'déclare la variable PL (PLage)
Dim PLU As Range 'déclare la variable O (PLage Utile)
Workbooks("test CFA macro.xlsm").Activate 'active le classeur GPL CISCO.xlsx
Set G1 = ActiveWorkbook.Worksheets("Glemea1") 'définit l'onglet G1
Set G2 = ActiveWorkbook.Worksheets("Glemea2") 'définit l'onglet G2
If G2.FilterMode = True Then G2.ShowAllData 'si G2 est filtrée, supprime le filtre
If G1.FilterMode = True Then G1.ShowAllData 'si G2 est filtrée, supprime le filtre
G1.Range("$A:$F").RemoveDuplicates Columns:=Array(3, 4), Header:=xlYes 'supprime les doublons des colonne C et D dansl'onglet G1
G2.Range("$A:$F").RemoveDuplicates Columns:=Array(3, 4), Header:=xlYes 'supprime les doublons des colonne C et D dansl'onglet G2
Set PL = G1.Range("A1").CurrentRegion 'définit la plage PL (onglet G1)
Set PLU = PL.Offset(1, 0).Resize(PL.Rows.Count - 1, PL.Columns.Count) 'définit la plage utile PLU (sans la première ligne de PL)
PL.AutoFilter Field:=4, Criteria1:="=*refu*", Operator:=xlOr, Criteria2:="=*remanu*" 'filtre les 2 cas dans la colonne D
PLU.SpecialCells(xlCellTypeVisible).EntireRow.Delete 'supprime les lignes visibles de la plage utile PLU
G1.ShowAllData 'supprime le filtre
Set PL = G1.Range("A1").CurrentRegion 'définit la plage PL (onglet G1)
Set PLU = PL.Offset(1, 0).Resize(PL.Rows.Count - 1, PL.Columns.Count) 'définit la plage utile PLU (sans la première ligne de PL)
PL.AutoFilter Field:=3, Criteria1:="=*CON-NC*" 'filtre le cas dans la colonne D
PLU.SpecialCells(xlCellTypeVisible).EntireRow.Delete 'supprime les lignes visibles de la plage utile PLU
G1.ShowAllData 'supprime le filtre
Set PL = G2.Range("A1").CurrentRegion 'définit la plage PL (onglet G2)
Set PLU = PL.Offset(1, 0).Resize(PL.Rows.Count - 1, PL.Columns.Count) 'définit la plage utile PLU (sans la première ligne de PL)
PL.AutoFilter Field:=3, Criteria1:="=*CON-NC*" 'filtre le cas colonne D
PLU.SpecialCells(xlCellTypeVisible).EntireRow.Delete 'supprime les lignes visibles de la plage utile PLU
G2.ShowAllData 'supprime le filtre
ActiveWorkbook.Save
MsgBox "Données traitées" 'message
End Sub |
Partager