Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

suppression des doublons

5 réponses
Avatar
jiffey
Bonjour à vous tous,


Voici le pb :

J'ai un fichier (type http://cjoint.com/?gilXxhG8Rc) avec des doublons dans
la colonne A.

Je souhaiterais supprimer les lignes comprenant ces doublons (ex : suppr les
lignes 11 à 13 et ne garder que la ligne 10)

Et l'idéal serait de copier-coller sans ces lignes sur la même feuille et
sans avoir à en créer une autre (bon ce dernier point ce serait le top mais
sinon pas sigrave...).


Auriez-vous une idée de macro ?

MERCI BEAUCOUP D'AVANCE !!!!!! ;-))))

5 réponses

Avatar
JB
Bonjour,

Sub sup()
On Error Resume Next
For i = [A65000].End(xlUp).Row To 2 Step -1
Err = 0
If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 2) = Cells(i - 1, 2)
And Cells(i, 3) = Cells(i - 1, 3) Then
If Err = 0 Then Rows(i).Delete
End If
Next i
End Sub

http://cjoint.com/?gimClmQvv8

JB



On 8 juin, 11:57, jiffey wrote:
Bonjour à vous tous,

Voici le pb :

J'ai un fichier (typehttp://cjoint.com/?gilXxhG8Rc) avec des doublons dans
la colonne A.

Je souhaiterais supprimer les lignes comprenant ces doublons (ex : suppr les
lignes 11 à 13 et ne garder que la ligne 10)

Et l'idéal serait de copier-coller sans ces lignes sur la même feuill e et
sans avoir à en créer une autre (bon ce dernier point ce serait le to p mais
sinon pas sigrave...).

Auriez-vous une idée de macro ?

MERCI BEAUCOUP D'AVANCE !!!!!! ;-))))


Avatar
Modeste
Bonsour® jiffey avec ferveur ;o))) vous nous disiez :

J'ai un fichier (type http://cjoint.com/?gilXxhG8Rc) avec des doublons dans
la colonne A.

Je souhaiterais supprimer les lignes comprenant ces doublons
Et l'idéal serait de copier-coller sans ces lignes sur la même feuille et
sans avoir à en créer une autre (bon ce dernier point ce serait le top mais
sinon pas sigrave...).


voici ce que l'on peut obtenir avec l'enregistreur ;o)))

Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 08/06/2007 par moi
Sheets("sd0063-0011-2181889").Select
Range("A2").Select
Range("A1:D500").Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range _
("B2"), Order2:=xlAscending, Key3:=Range("C2"), Order3:=xlAscending, _
Header:=xlYes, OrderCustom:=1, MatchCase:úlse, Orientation:= _
xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
DataOption3:=xlSortNormal
Range("A1:D500").AdvancedFilter Action:=xlFilterInPlace, Unique:=True
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets("sd0063-0011-2181889").Select
Sheets.Add
ActiveSheet.Name = "temp"
ActiveSheet.Paste
Sheets("sd0063-0011-2181889").Delete
Sheets("Temp").Select
ActiveSheet.Name = "sd0063-0011-2181889"
Columns("A:D").Select
Selection.Columns.AutoFit

End Sub

--
--
@+
;o)))

Avatar
jiffey
Merci JB,

Par contre, lorsque je lance la macro, j'ai une fenêtre : erreur de
compilation, erreur de syntaxe en me surlignant la ligne

If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 2) = Cells(i - 1, 2)


Y aurait-il en effet une petite coquille ?

Merci d'avance.

Sinon, il y a en effet la solution de Modeste (Merci beaucoup à lui
également) mais qui a comme inconvénient d'ouvrir une nouvelle feuille...


Bonjour,

Sub sup()
On Error Resume Next
For i = [A65000].End(xlUp).Row To 2 Step -1
Err = 0
If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 2) = Cells(i - 1, 2)
And Cells(i, 3) = Cells(i - 1, 3) Then
If Err = 0 Then Rows(i).Delete
End If
Next i
End Sub

http://cjoint.com/?gimClmQvv8

JB



On 8 juin, 11:57, jiffey wrote:
Bonjour à vous tous,

Voici le pb :

J'ai un fichier (typehttp://cjoint.com/?gilXxhG8Rc) avec des doublons dans
la colonne A.

Je souhaiterais supprimer les lignes comprenant ces doublons (ex : suppr les
lignes 11 à 13 et ne garder que la ligne 10)

Et l'idéal serait de copier-coller sans ces lignes sur la même feuille et
sans avoir à en créer une autre (bon ce dernier point ce serait le top mais
sinon pas sigrave...).

Auriez-vous une idée de macro ?

MERCI BEAUCOUP D'AVANCE !!!!!! ;-))))







Avatar
jiffey
C'est mortel !!!!! Merci beaucoup ô JB !!!!

Cdt

JF


Ces 2 lignes doivent être sur une seule ligne:

If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 2) = Cells(i - 1, 2)
And Cells(i, 3) = Cells(i - 1, 3) Then

ou

If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 2) = Cells(i - 1, 2)
_
And Cells(i, 3) = Cells(i - 1, 3) Then


JB

On 8 juin, 17:02, jiffey wrote:
Merci JB,

Par contre, lorsque je lance la macro, j'ai une fenêtre : erreur de
compilation, erreur de syntaxe en me surlignant la ligne

If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 2) = Cells(i - 1, 2)

Y aurait-il en effet une petite coquille ?

Merci d'avance.

Sinon, il y a en effet la solution de Modeste (Merci beaucoup à lui
également) mais qui a comme inconvénient d'ouvrir une nouvelle feuille...




Bonjour,

Sub sup()
On Error Resume Next
For i = [A65000].End(xlUp).Row To 2 Step -1
Err = 0
If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 2) = Cells(i - 1, 2)
And Cells(i, 3) = Cells(i - 1, 3) Then
If Err = 0 Then Rows(i).Delete
End If
Next i
End Sub

http://cjoint.com/?gimClmQvv8

JB

On 8 juin, 11:57, jiffey wrote:
Bonjour à vous tous,

Voici le pb :

J'ai un fichier (typehttp://cjoint.com/?gilXxhG8Rc) avec des doublons dans
la colonne A.

Je souhaiterais supprimer les lignes comprenant ces doublons (ex : suppr les
lignes 11 à 13 et ne garder que la ligne 10)

Et l'idéal serait de copier-coller sans ces lignes sur la même feuille et
sans avoir à en créer une autre (bon ce dernier point ce serait le top mais
sinon pas sigrave...).

Auriez-vous une idée de macro ?

MERCI BEAUCOUP D'AVANCE !!!!!! ;-))))- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -









Avatar
jiffey
Re-bonjour JB,

Alors là je ne comprends pas.

J'ai inséré le code dans ma macro, ca marche bien au départ, mais à un
moment pendant l'exécution de la macro le fichier redevient comme à l'origine
(avec les doublons). Et je n'arrive pas à comprendre comment cela est
possible. Les lignes ne sont-elles pas définitivement supprimées apr le code ?

J'essaie de rechercher de mon côté, mais si tu as la solution, je suis
preneur... ;-)

Slts

JF


Ces 2 lignes doivent être sur une seule ligne:

If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 2) = Cells(i - 1, 2)
And Cells(i, 3) = Cells(i - 1, 3) Then

ou

If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 2) = Cells(i - 1, 2)
_
And Cells(i, 3) = Cells(i - 1, 3) Then


JB

On 8 juin, 17:02, jiffey wrote:
Merci JB,

Par contre, lorsque je lance la macro, j'ai une fenêtre : erreur de
compilation, erreur de syntaxe en me surlignant la ligne

If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 2) = Cells(i - 1, 2)

Y aurait-il en effet une petite coquille ?

Merci d'avance.

Sinon, il y a en effet la solution de Modeste (Merci beaucoup à lui
également) mais qui a comme inconvénient d'ouvrir une nouvelle feuille...




Bonjour,

Sub sup()
On Error Resume Next
For i = [A65000].End(xlUp).Row To 2 Step -1
Err = 0
If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 2) = Cells(i - 1, 2)
And Cells(i, 3) = Cells(i - 1, 3) Then
If Err = 0 Then Rows(i).Delete
End If
Next i
End Sub

http://cjoint.com/?gimClmQvv8

JB

On 8 juin, 11:57, jiffey wrote:
Bonjour à vous tous,

Voici le pb :

J'ai un fichier (typehttp://cjoint.com/?gilXxhG8Rc) avec des doublons dans
la colonne A.

Je souhaiterais supprimer les lignes comprenant ces doublons (ex : suppr les
lignes 11 à 13 et ne garder que la ligne 10)

Et l'idéal serait de copier-coller sans ces lignes sur la même feuille et
sans avoir à en créer une autre (bon ce dernier point ce serait le top mais
sinon pas sigrave...).

Auriez-vous une idée de macro ?

MERCI BEAUCOUP D'AVANCE !!!!!! ;-))))- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -