Suppression de doublons selon conditions

J

Janko

Guest
Bonsoir à toutes et à tous,

A partir du fichier joint, je voudrais :

Pour le même numéro de prestation (colonne B):

1- si j'ai en colonne H :
C
M
MN
Alors je supprime les 3 lignes correspondantes

2- si j'ai en colonne H :
C
M
Alors je supprime les 2 lignes correspondantes


J'arrive à supprimer les 3 lignes correspondant aux 3 premiers doublons. Seulement, après la suppression, il passe à la cellule suivante tout en remontant de 3 lignes sur la plage, ce qui me décale tout.
Comment remédier à ce problème (en partant du bas) ? :(

Merci pour vos lumières.

Janko [file name=Test_20051005172646.zip size=7262]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Test_20051005172646.zip[/file]
 

Pièces jointes

  • Test_20051005172646.zip
    7.1 KB · Affichages: 17

Gérard DEZAMIS

XLDnaute Accro
Bonsoir Janko

Un essai...

En VBA jer ne sais pas faire la première partie :eek:
c'est à dire reperer les 'doublons' ou 'triplets'

Je le fais donc par formule
Une bonne âme va surement combler ces lacunes ! :lol:

ensuite le reperage étant effectué on delete les lignes (en VBA cette fois)
Un peu hybride cette bidouille mais en attendant mieux.... :eek:

@+ GD [file name=Janko.zip size=8243]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Janko.zip[/file]
 

Pièces jointes

  • Janko.zip
    8 KB · Affichages: 24
J

Janko

Guest
Bonsoir Gérard, bonsoir le Forum,

Je reviens enfin vers vous pour vous communiquer la solution (une partie du code) que j'ai finalement appliquée :

'Effacement N° des doublons :
For Each cell In Plage
If cell = cell.Offset(1, 0) And cell = cell.Offset(2, 0) And cell.Offset(0, 1) = cell.Offset(2, 1) Then
Union(cell, cell.Offset(1, 0), cell.Offset(2, 0)).Clear
ElseIf cell = cell.Offset(1, 0) Then
If cell.Offset(0, 1) = cell.Offset(1, 1) Then
If cell.Offset(0, 15) = 'C' And cell.Offset(1, 15) = 'M' Then
Union(cell, cell.Offset(1, 0)).Clear
End If
End If
ElseIf cell.Offset(0, 15) = 'ST' Then
cell.Clear
End If
Next cell
'Suppression des enregistrements
Plage.SpecialCells(xlCellTypeBlanks).EntireRow.Delete

En fait, j'identifie les doublons, j'efface leur numéro puis je supprime les lignes dont le numéro est blank.

Merci Gérard pour la piste des couleurs, cela m'a été grandement utile ! :)

Janko
 

Discussions similaires

Statistiques des forums

Discussions
312 348
Messages
2 087 508
Membres
103 568
dernier inscrit
NoS