Rebonjour à toi
Pour la suppression des lignes en double ce code modifié est plus rapide
que
celui que je t'ai proposé :
Range("A2", "A" &
Range("A2").SpecialCells(xlCellTypeLastCell).Row).EntireRow.Sort
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A" & Range("A2").SpecialCells(xlCellTypeLastCell).Row).Activate
Do While ActiveCell.Offset(-i, 0).Row > 1
For j = 1 To Range("A1").SpecialCells(xlCellTypeLastCell).Column
If Cells(ActiveCell.Offset(-i, 0).Row, j) <> Cells(ActiveCell.Offset(-i,
0).Row - 1, j) Then
Divergence = 1
Exit For
End If
Next
If Divergence <> 1 Then
ActiveCell.Offset(-i, 0).EntireRow.Clear
End If
Divergence = ""
i = i + 1
Loop
Range("A2", "A" &
Range("A2").SpecialCells(xlCellTypeLastCell).Row).EntireRow.Sort
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1").Activate
Essayes le et dis moi !!!!
Rebonjour à toi
Pour la suppression des lignes en double ce code modifié est plus rapide
que
celui que je t'ai proposé :
Range("A2", "A" &
Range("A2").SpecialCells(xlCellTypeLastCell).Row).EntireRow.Sort
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A" & Range("A2").SpecialCells(xlCellTypeLastCell).Row).Activate
Do While ActiveCell.Offset(-i, 0).Row > 1
For j = 1 To Range("A1").SpecialCells(xlCellTypeLastCell).Column
If Cells(ActiveCell.Offset(-i, 0).Row, j) <> Cells(ActiveCell.Offset(-i,
0).Row - 1, j) Then
Divergence = 1
Exit For
End If
Next
If Divergence <> 1 Then
ActiveCell.Offset(-i, 0).EntireRow.Clear
End If
Divergence = ""
i = i + 1
Loop
Range("A2", "A" &
Range("A2").SpecialCells(xlCellTypeLastCell).Row).EntireRow.Sort
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1").Activate
Essayes le et dis moi !!!!
Rebonjour à toi
Pour la suppression des lignes en double ce code modifié est plus rapide
que
celui que je t'ai proposé :
Range("A2", "A" &
Range("A2").SpecialCells(xlCellTypeLastCell).Row).EntireRow.Sort
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A" & Range("A2").SpecialCells(xlCellTypeLastCell).Row).Activate
Do While ActiveCell.Offset(-i, 0).Row > 1
For j = 1 To Range("A1").SpecialCells(xlCellTypeLastCell).Column
If Cells(ActiveCell.Offset(-i, 0).Row, j) <> Cells(ActiveCell.Offset(-i,
0).Row - 1, j) Then
Divergence = 1
Exit For
End If
Next
If Divergence <> 1 Then
ActiveCell.Offset(-i, 0).EntireRow.Clear
End If
Divergence = ""
i = i + 1
Loop
Range("A2", "A" &
Range("A2").SpecialCells(xlCellTypeLastCell).Row).EntireRow.Sort
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1").Activate
Essayes le et dis moi !!!!
Rebonjour romero
Enfin content que tu sois satisfait
Pour faire fonctionner les 2 codes ensembles tu peux soit les mettre l'un
aprés l'autre dans chaque Macro traitant les couleurs soit mettre le code
traitant les doublons dans une nouvelle Macro ("Doublon") que tu
appelleras à
la fin de chaque code traitant les couleurs en mettant la ligne :
Run("Doublon")
Attention si le code traitant des couleurs fonctionne en l'état celui des
doublons a besoin au préalable d'avoir l'onglet à traiter actif
Je ne sait pas si tous les Onglets comme pour les couleurs ont besoin
d'être
traité mais par onglet à traiter il faudra mettre :
Sheets("Onglet à traiter").Activate
Par exemple pour l'Onglet "Général" il faut mettre :
Sheets("Général").Activate
Puis le code Doublon
Renouveler l'opération pour chaque Onglet concerné
L'ensemble de tout ces codes peuvent être mis l'un aprés l'autre dans une
Macro
Mais si tous les Onglets sont à traiter je te préconise plustôt ce seul et
unique code :
For k = 1 to Sheets.Count
Sheets(k).Activate
Range("A2", "A" &
Range("A2").SpecialCells(xlCellTypeLastCell).Row).EntireRow.Sort
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A" & Range("A2").SpecialCells(xlCellTypeLastCell).Row).Activate
Do While ActiveCell.Offset(-i, 0).Row > 1
For j = 1 To Range("A1").SpecialCells(xlCellTypeLastCell).Column
If Cells(ActiveCell.Offset(-i, 0).Row, j) <> Cells(ActiveCell.Offset(-i,
0).Row - 1, j) Then
Divergence = 1
Exit For
End If
Next
If Divergence <> 1 Then
ActiveCell.Offset(-i, 0).EntireRow.Clear
End If
Divergence = ""
i = i + 1
Loop
Range("A2", "A" &
Range("A2").SpecialCells(xlCellTypeLastCell).Row).EntireRow.Sort
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1").Activate
Next
Si un onglet n'est pas à traiter tu peux mettre le code ci-dessus modifié
ainsi :
For k = 1 to Sheets.Count
If Sheets(k).Name <> "Nom de l'onglet à ne pas traiter"
Sheets(k).Activate
Range("A2", "A" &
Range("A2").SpecialCells(xlCellTypeLastCell).Row).EntireRow.Sort
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A" & Range("A2").SpecialCells(xlCellTypeLastCell).Row).Activate
Do While ActiveCell.Offset(-i, 0).Row > 1
For j = 1 To Range("A1").SpecialCells(xlCellTypeLastCell).Column
If Cells(ActiveCell.Offset(-i, 0).Row, j) <> Cells(ActiveCell.Offset(-i,
0).Row - 1, j) Then
Divergence = 1
Exit For
End If
Next
If Divergence <> 1 Then
ActiveCell.Offset(-i, 0).EntireRow.Clear
End If
Divergence = ""
i = i + 1
Loop
Range("A2", "A" &
Range("A2").SpecialCells(xlCellTypeLastCell).Row).EntireRow.Sort
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1").Activate
End If
Next
Le tout mis dans une seule Macro appelé "Doublon" que tu appellera à la
fin
de toutes tes Macros couleurs par la ligne :
Run("Doublon")
Espérant ne pas t'avoir noyé et répondu une fois de plus à ton attente
Dis moi !!!!
Rebonjour romero
Enfin content que tu sois satisfait
Pour faire fonctionner les 2 codes ensembles tu peux soit les mettre l'un
aprés l'autre dans chaque Macro traitant les couleurs soit mettre le code
traitant les doublons dans une nouvelle Macro ("Doublon") que tu
appelleras à
la fin de chaque code traitant les couleurs en mettant la ligne :
Run("Doublon")
Attention si le code traitant des couleurs fonctionne en l'état celui des
doublons a besoin au préalable d'avoir l'onglet à traiter actif
Je ne sait pas si tous les Onglets comme pour les couleurs ont besoin
d'être
traité mais par onglet à traiter il faudra mettre :
Sheets("Onglet à traiter").Activate
Par exemple pour l'Onglet "Général" il faut mettre :
Sheets("Général").Activate
Puis le code Doublon
Renouveler l'opération pour chaque Onglet concerné
L'ensemble de tout ces codes peuvent être mis l'un aprés l'autre dans une
Macro
Mais si tous les Onglets sont à traiter je te préconise plustôt ce seul et
unique code :
For k = 1 to Sheets.Count
Sheets(k).Activate
Range("A2", "A" &
Range("A2").SpecialCells(xlCellTypeLastCell).Row).EntireRow.Sort
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A" & Range("A2").SpecialCells(xlCellTypeLastCell).Row).Activate
Do While ActiveCell.Offset(-i, 0).Row > 1
For j = 1 To Range("A1").SpecialCells(xlCellTypeLastCell).Column
If Cells(ActiveCell.Offset(-i, 0).Row, j) <> Cells(ActiveCell.Offset(-i,
0).Row - 1, j) Then
Divergence = 1
Exit For
End If
Next
If Divergence <> 1 Then
ActiveCell.Offset(-i, 0).EntireRow.Clear
End If
Divergence = ""
i = i + 1
Loop
Range("A2", "A" &
Range("A2").SpecialCells(xlCellTypeLastCell).Row).EntireRow.Sort
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1").Activate
Next
Si un onglet n'est pas à traiter tu peux mettre le code ci-dessus modifié
ainsi :
For k = 1 to Sheets.Count
If Sheets(k).Name <> "Nom de l'onglet à ne pas traiter"
Sheets(k).Activate
Range("A2", "A" &
Range("A2").SpecialCells(xlCellTypeLastCell).Row).EntireRow.Sort
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A" & Range("A2").SpecialCells(xlCellTypeLastCell).Row).Activate
Do While ActiveCell.Offset(-i, 0).Row > 1
For j = 1 To Range("A1").SpecialCells(xlCellTypeLastCell).Column
If Cells(ActiveCell.Offset(-i, 0).Row, j) <> Cells(ActiveCell.Offset(-i,
0).Row - 1, j) Then
Divergence = 1
Exit For
End If
Next
If Divergence <> 1 Then
ActiveCell.Offset(-i, 0).EntireRow.Clear
End If
Divergence = ""
i = i + 1
Loop
Range("A2", "A" &
Range("A2").SpecialCells(xlCellTypeLastCell).Row).EntireRow.Sort
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1").Activate
End If
Next
Le tout mis dans une seule Macro appelé "Doublon" que tu appellera à la
fin
de toutes tes Macros couleurs par la ligne :
Run("Doublon")
Espérant ne pas t'avoir noyé et répondu une fois de plus à ton attente
Dis moi !!!!
Rebonjour romero
Enfin content que tu sois satisfait
Pour faire fonctionner les 2 codes ensembles tu peux soit les mettre l'un
aprés l'autre dans chaque Macro traitant les couleurs soit mettre le code
traitant les doublons dans une nouvelle Macro ("Doublon") que tu
appelleras à
la fin de chaque code traitant les couleurs en mettant la ligne :
Run("Doublon")
Attention si le code traitant des couleurs fonctionne en l'état celui des
doublons a besoin au préalable d'avoir l'onglet à traiter actif
Je ne sait pas si tous les Onglets comme pour les couleurs ont besoin
d'être
traité mais par onglet à traiter il faudra mettre :
Sheets("Onglet à traiter").Activate
Par exemple pour l'Onglet "Général" il faut mettre :
Sheets("Général").Activate
Puis le code Doublon
Renouveler l'opération pour chaque Onglet concerné
L'ensemble de tout ces codes peuvent être mis l'un aprés l'autre dans une
Macro
Mais si tous les Onglets sont à traiter je te préconise plustôt ce seul et
unique code :
For k = 1 to Sheets.Count
Sheets(k).Activate
Range("A2", "A" &
Range("A2").SpecialCells(xlCellTypeLastCell).Row).EntireRow.Sort
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A" & Range("A2").SpecialCells(xlCellTypeLastCell).Row).Activate
Do While ActiveCell.Offset(-i, 0).Row > 1
For j = 1 To Range("A1").SpecialCells(xlCellTypeLastCell).Column
If Cells(ActiveCell.Offset(-i, 0).Row, j) <> Cells(ActiveCell.Offset(-i,
0).Row - 1, j) Then
Divergence = 1
Exit For
End If
Next
If Divergence <> 1 Then
ActiveCell.Offset(-i, 0).EntireRow.Clear
End If
Divergence = ""
i = i + 1
Loop
Range("A2", "A" &
Range("A2").SpecialCells(xlCellTypeLastCell).Row).EntireRow.Sort
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1").Activate
Next
Si un onglet n'est pas à traiter tu peux mettre le code ci-dessus modifié
ainsi :
For k = 1 to Sheets.Count
If Sheets(k).Name <> "Nom de l'onglet à ne pas traiter"
Sheets(k).Activate
Range("A2", "A" &
Range("A2").SpecialCells(xlCellTypeLastCell).Row).EntireRow.Sort
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A" & Range("A2").SpecialCells(xlCellTypeLastCell).Row).Activate
Do While ActiveCell.Offset(-i, 0).Row > 1
For j = 1 To Range("A1").SpecialCells(xlCellTypeLastCell).Column
If Cells(ActiveCell.Offset(-i, 0).Row, j) <> Cells(ActiveCell.Offset(-i,
0).Row - 1, j) Then
Divergence = 1
Exit For
End If
Next
If Divergence <> 1 Then
ActiveCell.Offset(-i, 0).EntireRow.Clear
End If
Divergence = ""
i = i + 1
Loop
Range("A2", "A" &
Range("A2").SpecialCells(xlCellTypeLastCell).Row).EntireRow.Sort
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1").Activate
End If
Next
Le tout mis dans une seule Macro appelé "Doublon" que tu appellera à la
fin
de toutes tes Macros couleurs par la ligne :
Run("Doublon")
Espérant ne pas t'avoir noyé et répondu une fois de plus à ton attente
Dis moi !!!!