Comapraison et suppression
Fermé
alikan
-
15 juin 2016 à 09:07
thev Messages postés 1883 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 6 novembre 2024 - 20 juin 2016 à 16:53
thev Messages postés 1883 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 6 novembre 2024 - 20 juin 2016 à 16:53
A voir également:
- Comapraison et suppression
- Forcer suppression fichier - Guide
- Suppression page word - Guide
- Suppression cookies - Guide
- Suppression compte gmail - Guide
- Suppression compte instagram - Guide
5 réponses
thev
Messages postés
1883
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
6 novembre 2024
691
16 juin 2016 à 11:38
16 juin 2016 à 11:38
Bonjour,
Pas besoin de macro. Utiliser la commande suppression de doublons dans le menu Données.
Si tu veux utiliser VBA, voici le code
Pas besoin de macro. Utiliser la commande suppression de doublons dans le menu Données.
Si tu veux utiliser VBA, voici le code
--
Sub supprimer_lignes_en_double()
Dim plage_utilisée As Range
Dim index_colonnes As String
Set plage_utilisée = ActiveSheet.UsedRange
index_colonnes = Empty
For Each colonne In plage_utilisée.Columns
If index_colonnes = Empty Then
index_colonnes = colonne.Column
Else
index_colonnes = index_colonnes & "," & colonne.Column
End If
Next
plage_utilisée.RemoveDuplicates Columns:=Array(index_colonnes)
End Sub
thev
Messages postés
1883
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
6 novembre 2024
691
20 juin 2016 à 10:43
20 juin 2016 à 10:43
Dans ce cas, tes lignes ne sont pas complètement identiques. Il faudrait fournir un exemple précis pour répondre à ta demande d'aide.
thev
Messages postés
1883
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
6 novembre 2024
691
20 juin 2016 à 11:58
20 juin 2016 à 11:58
D'après ce que je comprends, les doublons ne sont relatifs qu'à la colonne A et donc aux numéros de téléphone.
thev
Messages postés
1883
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
6 novembre 2024
691
20 juin 2016 à 12:40
20 juin 2016 à 12:40
En y réfléchissant,
trier l'ensemble de la plage utilisée ne me parait pas bon car les sous-totaux risquent de n'être plus pertinents
le plus simple me parait être
1- de déterminer chaque plage relative à un sous-total (hors le sous-total correspondant)
2- d'éliminer ensuite les doublons figurant dans cette plage.
Qu'en pensez-vous ?
trier l'ensemble de la plage utilisée ne me parait pas bon car les sous-totaux risquent de n'être plus pertinents
le plus simple me parait être
1- de déterminer chaque plage relative à un sous-total (hors le sous-total correspondant)
2- d'éliminer ensuite les doublons figurant dans cette plage.
Qu'en pensez-vous ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
thev
Messages postés
1883
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
6 novembre 2024
691
Modifié par thev le 20/06/2016 à 16:57
Modifié par thev le 20/06/2016 à 16:57
Les sous-totaux ne disparaitront pas car ils seront exclus de la suppression des doublons.
Essayer le code ci-dessous.
Essayer le code ci-dessous.
Sub supprimer_doublons()
'plage utilisée
Set plage_utilisée = ActiveSheet.UsedRange
With plage_utilisée
'initialisation ligne après sous-total précédent
Set ligne_après_sous_tot_prec = .Rows(2).EntireRow
'recherche dernère cellule avant sous-total
Set cell_sous_tot_init = .Find("SUBTOTAL")
Set cell_sous_tot = cell_sous_tot_init
Do
'affectation ligne avant sous-total
Set ligne_avant_sous_tot = cell_sous_tot.EntireRow.Offset(-1)
'affectation plage doublons
Set plage_doublons = .Range(ligne_après_sous_tot_prec, ligne_avant_sous_tot)
'suppression doublons
plage_doublons.RemoveDuplicates Columns:=1
'affectation ligne après sous-total précédent
Set ligne_après_sous_tot_prec = cell_sous_tot.EntireRow.Offset(1)
'recherche dernère cellule suivante avant sous-total
Set cell_sous_tot = .FindNext(cell_sous_tot)
Loop Until cell_sous_tot.Address = cell_sous_tot_init.Address
'suppression lignes vides après suppression doublons
On Error Resume Next
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
End Sub
20 juin 2016 à 09:19
J'ai réussi à exécuter et comme je vous ai dit il supprime l’élément suivant. Alors que ce qui me faut c'est de supprimer le premier s'il correspond au deuxième l'élément parce qu'en fait le dernier sur la liste correspond à un sous total.
Merci