Suppression doublons

bonjour,

C'est ma première visite sur le site et je n'ai pas su trouver de réponse sur les FAQ :

j'ai besoin de supprimer dans mon fichier (exemple dans fichier ci joint tous les enregistrements dont la premiere cellule est identique a celle de la ligne précédente.

Excel je maitrise a peu pres mais les macro pas du tout

Merci de votre aide

GASYRE

il n'y a pas de fichier joint...

Désolée

je suis allé trop vite cette fois ci j'ai TOUT lu.

Merci de votre aide

https://www.excel-pratique.com/~files/doc/m6Rl9test_pour_forum.xls

Bonjour,

Essaye avec cette macro :

Sub Regrouper()
Dim Nom As Range
Dim i As Byte
Dim Val As Range
Application.ScreenUpdating = False
For Each Nom In Range("A2:A" & Range("A65536").End(xlUp).Row)
For i = 1 To Range("A65536").End(xlUp).Row - 1
Set Val = Nom.Offset(i, 0)
If Val <> "" And Val = Nom Then
Nom.Offset(0, 1) = Nom.Offset(0, 1) & " , " & Val.Offset(0, 1)
Rows(Val.Row).Delete
i = i - 1
End If
Next i
Next Nom
End Sub

Amicalement

Dan

est-ce qu'il marcherait si il y a un doublon mais pas forcément à la ligne précédente ?

du genre

A....5

B....5

C....5

A....5

D....5

il va me supprimer la ligne 4 car il y a déjà un A dans la 1ere cellule de la ligne 1 ?

mais il va pas me supprimer les lignes 2,3,4 et 5 même si y'a des 5 dans toutes les cellules de la colonne 2

j'y touche rien en VB

ça se voit ??

[et de plus il supprime la ligne vraiment ou juste le contenu de la ligne ??]

Re,

Dans la macro il faut enlever la ligne --> Nom.Offset(0, 1) = Nom.Offset(0, 1) & " , " & Val.Offset(0, 1)

Cette instruction sert à regrouper les données de la colonne B, en cas de doublons en colonne A.

Message pour Qwerts :

En enlevant du code la ligne dont je parle ci-avant, la macro supprime la ligne si un doublon est constaté en colonne A. Donc dans ton cas uniquement la ligne 4.

Tu obtiendras :

En A2 : A

En B2 : 5

Si tu laisses la ligne de code dont je parle ci-avant, tu obtiendras ceci en première ligne :

En A2 : A

En B2 : 5 , 5

Amicalement

Dan

Merci Nad-Dan

La neuneu de base (c'est moi) a encore besoin d'un petit coup de pouce j'ai du mal a modifier la macro je n'y comprend pas grand chose!!! ci joint fichier dans son intégralité que j'ai tronqué pour des raisons de discrétion. Ce n'est pas la colonne B (code activité) que je récupère mais la colonne U profession principale des enregistrements suivants identiques que je copie dans la colonne Z en fin de tableau. Et là je coince.

Si par ailleurs tu peux m'indiquer une facon de me former sur ce sujet mille merci

Cordialement

gasyre

le fichier https://www.excel-pratique.com/~files/doc/RETEST.xls

Re,

Ce que tu veux c'est supprimer les lignes en colonne U s'il y a doublons ??

Là tu parles de recopier en colonne Z. On recopie quoi ? Le doublon de U ??

Tu peux me mettre un exemple ici.

A te relire

Dan

Bonsoir, Salut Nad-Dan

Sur le premier fichier envoyé, sans macro en 2mn.

1) supprimer la ligne vierge (ligne 2)

2) Sélectionner une cellule de la colonne a et menu "Données" "Trier"

choisir "Croissant" et cocher OUI à "Ma plage de données a une ligne de titres"

3) Entrer dans la cellule E2 la formule:

=SI(A3=A2;1;0) et incrémenter vers le bas jusqu(au bout du tableau.

En E1, mettez un titre "Tri" par exemple.

4) sélectionner la colonne entiére E et "Copier" "Collage spécial" "Valeur"

5) Sélectionner une cellule de la colonne E et "Données" "Trier" "Décroissant"

6) Supprimer toutes les lignes ou la colonne E renvoie 1. Elles sont regroupées en haut du tableau.

Cordialement

Résumé de mon problème

en colonne A on a le Code Entreprise, en colonne U on a le libelle profession principale

Ce que je cherche a faire

N'avoir qu'une ligne par entreprise avec les deux ou trois professions en fin d'enregistrement.

Merci

Gasyre

Bonjour gasyre

Présenté comme ceci, le problème est un peu différent!

Cordialement

désolée de mon manque de précision mais le problème a évolué en découvrant les abérations du logiciel qui nous a été livré

Merci de votre aide

Connaissez vous un site sur quel site je pourrais m'auto former sur les macros ? 5y a du boulot!!!)

re,

Remplace la macro Regrouper par celle-ci

Sub Regrouper()
' Macro modifiée par DAN pour gasyre sur www.excel-pratique.com
Dim Nom As Range
Dim i As Long
Dim Val As Range
Application.ScreenUpdating = False
For Each Nom In Range("A2:A" & Range("A65536").End(xlUp).Row)
For i = 1 To Range("A65536").End(xlUp).Row - 1
Set Val = Nom.Offset(i, 0)
If Val <> "" And Val = Nom Then
Nom.Offset(0, 25) = Nom.Offset(0, 20) & " , " & Val.Offset(0, 20)
Rows(Val.Row).Delete
i = i - 1
End If
Next i
Next Nom
End Sub

Pour ce qui d'apprendre, il existe des livres à ce sujet. Je te conseille ceux de J. WALKENBACH qui sont des références.

Sinon tu peux procéder de la même manière que moi en lisant des codes, en les testant mais aussi utiliser l'aide excel qui est pas mal fournie à ce sujet. Un de mes amis sur un autre forum n'a jamais fait qu'utiliser l'aide excel et est aujourd'hui devenu un des grands nom de la maitrise des codes VBA.

Amicalement

Dan

Rechercher des sujets similaires à "suppression doublons"