Suppression des doublant selon des condition rapidement
Zarzis
-
f894009 Messages postés 17414 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17414 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai crée un macro qui permet de supprimer les doublant dans un tableau excel avec des conditions. Le macro fonctionne très bien mais puisque j'ai beaucoup des données, il prend beaucoup du temps.
Il y a t-il une autre solution pour supprimer les doublant selon des condition rapidement?
Merci d'avance,
Voila mon code;
J'ai crée un macro qui permet de supprimer les doublant dans un tableau excel avec des conditions. Le macro fonctionne très bien mais puisque j'ai beaucoup des données, il prend beaucoup du temps.
Il y a t-il une autre solution pour supprimer les doublant selon des condition rapidement?
Merci d'avance,
Voila mon code;
<'Supprimer les doublant
I = 2
.Range("A" & I).Select
Do While Not (IsEmpty(ActiveCell))
For J = I + 1 To DL
If .Range("A" & I) = .Range("A" & J) Then
If .Range("D" & I) = 0 Then
.Range("F" & J).Value = .Range("F" & I).Value
.Rows(I).EntireRow.Delete Shift:=xlUp
I = I - 1
ElseIf .Range("D" & I) = 1 Then
.Range("F" & I).Value = .Range("F" & J).Value2
.Rows(J).EntireRow.Delete Shift:=xlUp
End If
J = J + 1
Else
End If
Next
I = I + 1
.Range("A" & I).Select
Loop>
A voir également:
- Suppression des doublant selon des condition rapidement
- Télécharger film d'action gratuitement et rapidement - Télécharger - TV & Vidéo
- Forcer suppression fichier - Guide
- Excel cellule couleur si condition texte - Guide
- Suppression compte gmail - Guide
- Copier rapidement des fichiers - Télécharger - Gestion de fichiers
3 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour, peux-tu utiliser les balises de code quand tu partages du code, en précisant "basic" pour du code VBA? https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour,
"beaucoup", c'est combien?
je suis étonné par la position de l'instruction "j = j + 1"
comme tu supprimes des lignes, je pense qu'il est plus simple de faire le travail de bas en haut. cela simplifie aussi les tests de fin de boucle et de supprimer le "select".
je pense à ces alternatives:
1) utiliser FIND au lieu de la boucle en J
https://docs.microsoft.com/fr-ch/office/vba/api/excel.range.find
2) commencer par trier les lignes par les valeurs en colonne A, de façon à ce que les doublons se suivent. si l'ordre des lignes soit être préservé, trier ensuite pour rétablir l'ordre d'origine, en utilisant une colonne préalablement remplie à cet effet.
"beaucoup", c'est combien?
je suis étonné par la position de l'instruction "j = j + 1"
comme tu supprimes des lignes, je pense qu'il est plus simple de faire le travail de bas en haut. cela simplifie aussi les tests de fin de boucle et de supprimer le "select".
je pense à ces alternatives:
1) utiliser FIND au lieu de la boucle en J
https://docs.microsoft.com/fr-ch/office/vba/api/excel.range.find
2) commencer par trier les lignes par les valeurs en colonne A, de façon à ce que les doublons se suivent. si l'ordre des lignes soit être préservé, trier ensuite pour rétablir l'ordre d'origine, en utilisant une colonne préalablement remplie à cet effet.