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

Supprimer les lignes doublon

5 réponses
Avatar
syleg35
Bonsoir =E0 vous;

Dans une feuille de 7 colonnes, nomm=E9 " Produits" je souhaite
supprimer les lignes en double
lorsque la valeur de la colonne 1 est identiques.

En clair je souhaiterais une macro pour extraire dans une copiefeuil
les lignes sans doublon de la feuille "Produits"

Merci pour votre aide !

Bonne soir=E9e

5 réponses

Avatar
michdenis
En utilisant le filtre élaboré.
Tu dois adapter le nom des feuilles de la procédure.
Feuille source : Feuil1
Plage : A1:Ax

Feuille destination : Feuil2
Cellule de destination : A1

'--------------------------------------------
Sub Filtre_Sans_Doublons()
Dim DerLig As Long
Application.ScreenUpdating = False
With Worksheets("Feuil1")
With .Range("a:G")
'Trouve la dernière ligne
DerLig = .Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
End With
With .Range("A1:A" & DerLig)
.AdvancedFilter xlFilterInPlace, , , True
.SpecialCells(xlCellTypeVisible).Copy _
Worksheets("Feuil2").Range("A1")
End With
.ShowAllData
End With
End Sub
'--------------------------------------------





a écrit dans le message de groupe de discussion :

Bonsoir à vous;

Dans une feuille de 7 colonnes, nommé " Produits" je souhaite
supprimer les lignes en double
lorsque la valeur de la colonne 1 est identiques.

En clair je souhaiterais une macro pour extraire dans une copiefeuil
les lignes sans doublon de la feuille "Produits"

Merci pour votre aide !

Bonne soirée
Avatar
michdenis
Une omission :

Dans la procédure original j'ai oublié : ".Resize(,7)
que vous devez corriger pour obtenir la copie des 7 colonnes.

With .Range("A1:A" & DerLig).Resize(, 7)
.AdvancedFilter xlFilterInPlace, , , True
.SpecialCells(xlCellTypeVisible).Copy _
Worksheets("Feuil2").Range("A1")
End With
Avatar
syleg35
Bonsoir " michdenis

Merci pour ton aide, ci-joint mon fichier pour que tu puisse voir ce
que je souhaiterais comme proc
je souhaiterais dans la feuil2 récupérer les produits de la feuil
"Produits" sans doublon par rapport à la première colonne de gencod.

http://www.cijoint.fr/cjlink.php?file=cj200901/cijbjEvz2F.xls

Bonsoir " michdenis



On 14 jan, 02:37, "michdenis" wrote:
Une omission :

Dans la procédure original j'ai oublié :  ".Resize(,7)
que vous devez corriger pour obtenir la copie des 7 colonnes.

With .Range("A1:A" & DerLig).Resize(, 7)
        .AdvancedFilter xlFilterInPlace, , , True
        .SpecialCells(xlCellTypeVisible).Copy _
            Worksheets("Feuil2").Range("A1")
    End With


Avatar
michdenis
Sub Filtre_Sans_Doublons()
Dim DerLig As Long
Application.ScreenUpdating = False
With Worksheets("Produits")
With .Range("A:G")
'Trouve la dernire ligne
DerLig = .Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
End With
Worksheets("Feuil2").UsedRange.Clear
With .Range("B1:B" & DerLig)
.AdvancedFilter xlFilterInPlace, , , True
.Offset(, -1).Resize(, 7).SpecialCells _
(xlCellTypeVisible).Copy _
Worksheets("Feuil2").Range("A1")
End With
.ShowAllData
End With
End Sub




a écrit dans le message de groupe de discussion :

Bonsoir " michdenis

Merci pour ton aide, ci-joint mon fichier pour que tu puisse voir ce
que je souhaiterais comme proc
je souhaiterais dans la feuil2 récupérer les produits de la feuil
"Produits" sans doublon par rapport à la première colonne de gencod.

http://www.cijoint.fr/cjlink.php?file=cj200901/cijbjEvz2F.xls

Bonsoir " michdenis



On 14 jan, 02:37, "michdenis" wrote:
Une omission :

Dans la procédure original j'ai oublié : ".Resize(,7)
que vous devez corriger pour obtenir la copie des 7 colonnes.

With .Range("A1:A" & DerLig).Resize(, 7)
.AdvancedFilter xlFilterInPlace, , , True
.SpecialCells(xlCellTypeVisible).Copy _
Worksheets("Feuil2").Range("A1")
End With


Avatar
syleg35
Bonjour "michdenis

Merci beaucoup, c'est exactement cette proc qu'il me fallait pour
finir mon fichier
Bonne journée
@+

On 14 jan, 22:39, "michdenis" wrote:
Sub Filtre_Sans_Doublons()
Dim DerLig As Long
Application.ScreenUpdating = False
With Worksheets("Produits")
    With .Range("A:G")
        'Trouve la dernire ligne
        DerLig = .Find(What:="*", _
                   LookIn:=xlFormulas, _
                SearchOrder:=xlByRows, _
         SearchDirection:=xlPrevious).Row
    End With
   Worksheets("Feuil2").UsedRange.Clear
    With .Range("B1:B" & DerLig)
        .AdvancedFilter xlFilterInPlace, , , True
        .Offset(, -1).Resize(, 7).SpecialCells _
                        (xlCellTypeVisible).Copy _
            Worksheets("Feuil2").Range("A1")
    End With
    .ShowAllData
End With
End Sub

a écrit dans le message de groupe de discussion :

Bonsoir " michdenis

Merci pour ton aide, ci-joint mon fichier pour que tu puisse voir ce
que je souhaiterais comme proc
je souhaiterais dans la feuil2 récupérer les produits de la feuil
"Produits" sans doublon par rapport à la première colonne de gencod.

http://www.cijoint.fr/cjlink.php?file=cj200901/cijbjEvz2F.xls

Bonsoir " michdenis

On 14 jan, 02:37, "michdenis" wrote:



> Une omission :

> Dans la procédure original j'ai oublié :  ".Resize(,7)
> que vous devez corriger pour obtenir la copie des 7 colonnes.

> With .Range("A1:A" & DerLig).Resize(, 7)
>         .AdvancedFilter xlFilterInPlace, , , True
>         .SpecialCells(xlCellTypeVisible).Copy _
>             Worksheets("Feuil2").Range("A1")
>     End With- Masquer le texte des messages précédents -

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