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

Doublon sur 2 ou 3 colonnes d'une feuille?

3 réponses
Avatar
fred
Bonjour,

J'aimerais en cas de doublon dans une feuille concernant 2 colonnes A et B
(Date et Nom), terminer la macro.
J'importe sur une feuil1 des données d'une page Web que je copie ensuite sur
une feuille contant déjà toute une base de donnée
A B C
Date Nom commentaire
3/03/08 Stella xxxxxxxxxx
5/03/08 Pierre xxxxxxxxxx
6/03/08 Jacques xxxxxxxxxx
etc...

Feuille base
A B C
Date Nom commentaire
23/02/08 Violette xxxxxxxxxx
28/02/08 Michelle xxxxxxxxxx
6/03/08 Jacques xxxxxxxxxx
etc...
Il existe donc le doublon sur 2 colonnes concernées la Date et le Nom :
"6/03/08 Jacques",après que la feuil1 soit copiée sur la feuille base !
J'utilise cette macro pour copier et coller de feuil1 à base
Sheets("Feuil1").Select
Columns("A:A").Select
Selection.CurrentRegion.Select
ActiveSheet.UsedRange.Rows("2:" & ActiveSheet.UsedRange.Rows.Count).Select
Selection.Copy
Sheets("base").Select
ActiveSheet.UsedRange.Select
DerLig = [A65536].End(3).Row
Range("A" & (DerLig + 1)).Select
ActiveSheet.Paste

Comment réaliser une macro de doublon concernant 2 ou 3 colonnes après le
"coller" sur la feuille base?
En vous remerciant

3 réponses

Avatar
JB
Bonjour

Sub supDoublonsTradi()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
[A1].Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range( _
"B2"), Order2:=xlAscending, Header:=xlGuess

For i = [A65000].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 2) = Cells(i - 1,
2) Then Rows(i).Delete
Next i
Application.Calculation = xlCalculationAutomatic
End Sub

JB
http://boisgontierjacques.free.fr/

On 21 mar, 14:03, "fred" wrote:
Bonjour,

J'aimerais en cas de doublon dans une feuille concernant 2 colonnes A et B
(Date et Nom), terminer la macro.
J'importe sur une feuil1 des données d'une page Web que je copie ensuite sur
une feuille contant déjà toute une base de donnée
A          B              C
Date      Nom         commentaire
3/03/08  Stella        xxxxxxxxxx
5/03/08  Pierre       xxxxxxxxxx
6/03/08  Jacques    xxxxxxxxxx
etc...

Feuille base
A              B              C
Date          Nom         commentaire
23/02/08    Violette     xxxxxxxxxx
28/02/08    Michelle    xxxxxxxxxx
6/03/08     Jacques     xxxxxxxxxx
etc...
Il existe donc le doublon sur 2 colonnes concernées la Date et le Nom :
"6/03/08  Jacques",après que la feuil1 soit copiée sur la feuille ba se !
J'utilise cette macro pour copier et coller de feuil1 à base
Sheets("Feuil1").Select
Columns("A:A").Select
Selection.CurrentRegion.Select
ActiveSheet.UsedRange.Rows("2:" & ActiveSheet.UsedRange.Rows.Count).Select
Selection.Copy
Sheets("base").Select
ActiveSheet.UsedRange.Select
DerLig = [A65536].End(3).Row
Range("A" & (DerLig + 1)).Select
ActiveSheet.Paste

Comment réaliser une macro de doublon concernant 2 ou 3 colonnes après le
"coller" sur la feuille base?
En vous remerciant


Avatar
FFO
Salut Fred
Si j'ai bien compris tu voudrais supprimer les doublons liés à des imports
successifs


Je te propose ce code :

For Each c In Worksheets("Feuil1").Range("A1", "A" &
Sheets("Feuil1").Range("A65535").End(xlUp).Row)
c.Activate
On Error Resume Next
Range(ActiveCell, "A" & Range("A65535").End(xlUp).Row).Find(What:=c,
After:¬tiveCell, LookIn:=xlValues, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False, SearchFormat:úlse).Activate
If ActiveCell.Address <> c.Address Then
A = ActiveCell.Address
If ActiveCell.Value = c.Value And ActiveCell.Offset(0, 1).Value =
c.Offset(0, 1).Value Then
ActiveCell.EntireRow.Delete
End If
For I = 1 To Range("A65535").End(xlUp).Row
Range(ActiveCell, "A" &
Range("A65535").End(xlUp).Row).FindNext(After:¬tiveCell).Activate
If ActiveCell.Address <> A Then
If ActiveCell.Value = c.Value And ActiveCell.Offset(0, 1).Value =
c.Offset(0, 1).Value Then
ActiveCell.EntireRow.Delete
End If
Else
Exit For
End If
Next
End If
Next

Celà devrait faire
Dis moi !!!




"fred" wrote:

Bonjour,

J'aimerais en cas de doublon dans une feuille concernant 2 colonnes A et B
(Date et Nom), terminer la macro.
J'importe sur une feuil1 des données d'une page Web que je copie ensuite sur
une feuille contant déjà toute une base de donnée
A B C
Date Nom commentaire
3/03/08 Stella xxxxxxxxxx
5/03/08 Pierre xxxxxxxxxx
6/03/08 Jacques xxxxxxxxxx
etc...

Feuille base
A B C
Date Nom commentaire
23/02/08 Violette xxxxxxxxxx
28/02/08 Michelle xxxxxxxxxx
6/03/08 Jacques xxxxxxxxxx
etc...
Il existe donc le doublon sur 2 colonnes concernées la Date et le Nom :
"6/03/08 Jacques",après que la feuil1 soit copiée sur la feuille base !
J'utilise cette macro pour copier et coller de feuil1 à base
Sheets("Feuil1").Select
Columns("A:A").Select
Selection.CurrentRegion.Select
ActiveSheet.UsedRange.Rows("2:" & ActiveSheet.UsedRange.Rows.Count).Select
Selection.Copy
Sheets("base").Select
ActiveSheet.UsedRange.Select
DerLig = [A65536].End(3).Row
Range("A" & (DerLig + 1)).Select
ActiveSheet.Paste

Comment réaliser une macro de doublon concernant 2 ou 3 colonnes après le
"coller" sur la feuille base?
En vous remerciant





Avatar
fred
Je vous remercie pour vos réponses, j'ai testé les 2 macros....c'est ok
Je prends celle de JB car le code est plus court
Merci à vous deux!
Fred

"FFO" a écrit dans le message de news:

Salut Fred
Si j'ai bien compris tu voudrais supprimer les doublons liés à des imports
successifs


Je te propose ce code :

For Each c In Worksheets("Feuil1").Range("A1", "A" &
Sheets("Feuil1").Range("A65535").End(xlUp).Row)
c.Activate
On Error Resume Next
Range(ActiveCell, "A" & Range("A65535").End(xlUp).Row).Find(What:=c,
After:¬tiveCell, LookIn:=xlValues, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False, SearchFormat:úlse).Activate
If ActiveCell.Address <> c.Address Then
A = ActiveCell.Address
If ActiveCell.Value = c.Value And ActiveCell.Offset(0, 1).Value > c.Offset(0, 1).Value Then
ActiveCell.EntireRow.Delete
End If
For I = 1 To Range("A65535").End(xlUp).Row
Range(ActiveCell, "A" &
Range("A65535").End(xlUp).Row).FindNext(After:¬tiveCell).Activate
If ActiveCell.Address <> A Then
If ActiveCell.Value = c.Value And ActiveCell.Offset(0, 1).Value > c.Offset(0, 1).Value Then
ActiveCell.EntireRow.Delete
End If
Else
Exit For
End If
Next
End If
Next

Celà devrait faire
Dis moi !!!




"fred" wrote:

Bonjour,

J'aimerais en cas de doublon dans une feuille concernant 2 colonnes A et
B
(Date et Nom), terminer la macro.
J'importe sur une feuil1 des données d'une page Web que je copie ensuite
sur
une feuille contant déjà toute une base de donnée
A B C
Date Nom commentaire
3/03/08 Stella xxxxxxxxxx
5/03/08 Pierre xxxxxxxxxx
6/03/08 Jacques xxxxxxxxxx
etc...

Feuille base
A B C
Date Nom commentaire
23/02/08 Violette xxxxxxxxxx
28/02/08 Michelle xxxxxxxxxx
6/03/08 Jacques xxxxxxxxxx
etc...
Il existe donc le doublon sur 2 colonnes concernées la Date et le Nom :
"6/03/08 Jacques",après que la feuil1 soit copiée sur la feuille base !
J'utilise cette macro pour copier et coller de feuil1 à base
Sheets("Feuil1").Select
Columns("A:A").Select
Selection.CurrentRegion.Select
ActiveSheet.UsedRange.Rows("2:" &
ActiveSheet.UsedRange.Rows.Count).Select
Selection.Copy
Sheets("base").Select
ActiveSheet.UsedRange.Select
DerLig = [A65536].End(3).Row
Range("A" & (DerLig + 1)).Select
ActiveSheet.Paste

Comment réaliser une macro de doublon concernant 2 ou 3 colonnes après le
"coller" sur la feuille base?
En vous remerciant