Doublons

  • Initiateur de la discussion art
  • Date de début
A

art

Guest
Bonsoir à tous et Bravo pour cet excellent forum que je viens de découvrir.
Je me suis mis au VBA depuis peu ce qui me facilite la vie au boulot ou je suis amené à travailler sur des fichiers de base de données sur Excel.
Par contre, je seche sur une procédure qui me permettrait, dans une selection, de marquer d'une couleur (rouge par exemple) toutes les lignes
qui se repetent, d'en faire la liste à droite de la selection (pas en dessous car le fichier peut faire la totalité des lignes de la feuille) puis après vérification de pouvoir les éliminer.
Je pense que je me suis attaqué à un trop gros morceaux pour un débutant comme moi.
Est-ce qu'une personne bienveillante pourrait me donner un peu de son temps et de son savoir en m'expliquant comment faire?
Encore merci
 
C

Celeda

Guest
Bonsoir,

Alors moi je te réponds parce que j'assure le service du soir mais je n'y connais rien en ligne rouge ni en jaune d'ailleurs.......mais si un pro de vba passe par ce fil, il pourra peut-être t'aider....et je pense pas que cela soit un gros morceau pour ces Masters.

Si tu avais souhaité numéroter les doublons, là pas de probléme, j'ai donné et j'ai eu d'excellents XLDIENNE ou diens pour vexer personne et on peut les éliminer ces doublons, et j'ai les fils mais :

''d'en faire la liste à droite de la selection (pas en dessous car le fichier peut faire la totalité des lignes de la feuille) puis après vérification de pouvoir les éliminer'' en vba .....

peut-être simplement, si tu mets dans ta colonne à côté une formule pour compter tes doublons et puis aprés tu filtres et tu élimines tout simplement tes lignes 2-3-4 -5 . Il te restera que les lignes qui auront èté numérotées 1.

Je te place, malgré que ce ne soit pas une macro, un fichier explicatif dans lequel tu trouves dans la colonne A comment compter les doublons et après tu scrappessssssssssssssssssssssssssssssssssssssles lignes qui te fatiguent.

à suivre...

Celeda
 

Pièces jointes

  • Conditons_Doublons_Index.zip
    10.3 KB · Affichages: 38
  • Conditons_Doublons_Index.zip
    10.3 KB · Affichages: 38
  • Conditons_Doublons_Index.zip
    10.3 KB · Affichages: 35
A

art

Guest
Merci Celeda pour ton fichier qui est très bien fait mais le problème est que la recherche des doublons ne se fait que sur deux colonnes alors qu'il faudrait qu'elle se fasse sur toutes les colonnes de la selection.
Merci encore
 
@

@+Thierry

Guest
Bonjour Art, Celeda, le Forum

Avant d'aller plus loin; il serait souhaitable d'avoir quelques précisions car bien que ta question semble simple il est important de savoir sur quoi on travaille avant tout développement VBA.

Le mieux serait d'avoir un extrait de cette base de données pour connaitre sur quels critères doit-on se baser pour définir si il s'agit d'un doublon...

Savoir aussi sur combien de colonnes on doit travailler serait un plus considérable, car si tu avais précisé ceci clairement dès ton premier post Celeda t'aurait probablement proposé une autre solution...

Car "le problème est que la recherche des doublons ne se fait que sur deux colonnes alors qu'il faudrait qu'elle se fasse sur toutes les colonnes de la selection" nous laisse dans un très beau flou artistique, joli en photo, mais très peu apprécié en programmation !

si tu peux être un poil plus précis, merci d'avance

Bonne Journée... T.G.F.!!!!

@+Thierry
 
A

art

Guest
Bonjour Thierry, rebonjour Celeda
Désolé pour le manque de précision, je vais essayer d'y remedier.
Le problème est que je ne sais pas à l'avance combien de colonnes va faire le fichier et la contrainte est qu'un enregistrement est consideré comme un doublon lorsque "toutes" ses colonnes sont identiques.
Le fichier se présente avec une structure assez classique:
Nom Prenom Qualité Adresse1 Adresse2 Cp ...etc.
Voila J'éspère avoir été assez explicite.
Je tenais aussi à saluer tous les participants à ce forum que j'ai eu l'occasion de découvrir et qui ont souvent enlever des épines du pied de nous autres, pauvres amateurs que nous sommes.
Merci encore à vous tous
 
M

Monique

Guest
Bonjour,

Avec formules.
Sommeprod avec concaténation des critères peut compter les doublons, ça donne, pour la ligne 2 :
=SOMMEPROD((nom&prénom&qual&adr1&adr2&cp&ville=A2&B2&C2&D2&E2&F2&G2)*1)
Pour numéroter les doublons (et les non doublons), c'est la même formule moins sommeprod identique sur les lignes du dessous.
Et format conditionnel selon le numéro trouvé.

Ou bien c'est le format conditionnel lui-même qui contient la formule.

Les 2 systèmes sont dans le fichier joint.
 

Pièces jointes

  • sommeprod_conca.zip
    4.7 KB · Affichages: 36
C

Celeda

Guest
Bonjour,

Et Vlan, Monique a encore frappé !!! Une formule de plus pour les doublons :

S U P E R .

Je recence dans la Database.

Monique : bientôt on pourait avoir un petit userform avec toutes tes formules avec toutes les variantes de numérotations - style on appuie sur un bouton et on tombe sur une feuille exemple. Ah le rêve pour un vendredi.

Bravo Madame Monique et Merci.

Celeda
 
A

art

Guest
Bonsoir Monique, bonsoir Celeda, bonsoir à tous.
Monique, j'ai commencé à appliquer tes formules mais pour le moment j'obtient un message d'erreur du genre #NOM? dans la colonne de numérotation des doublons, mais peut etre que je m'y prend mal, je continue à chercher et je te tiens au courant.
@+
Art
 
C

Celeda

Guest
Bonsoir

Art, quand tu obtiens ce genre d'erreur cela n'est pas grave du tout.
Ou tu t'es planté dans la formule en tapant un mauvais non, ou inverser une lettre ou tu as oublié des guillemets quelque part ou les deux points ou utiliser un mauvais nom mais tu devrais pouvoir retrouver facilement sinon place quelques lignes dans un fichier pour que l'on puisse t'aider.

Celeda
 
A

art

Guest
Bonsoir Monique, bonsoir Celeda, bonsoir à tous.
La ca yest, je craque, pourtant Monique, j'ai essayé une bonne partie du week end de faire tourner ta formule mais je n'arrive pas à supprimer ce message d'erreur. Je capitule, j'ai mis en pièce jointe un exemple de fichier ainsi que la formule placée en H2.Les lignes 2,4,6et 9 sont des doublons mais la colonne de numérotation n'envoie que des erreurs. Verrais tu ce qui se passe?
@+
Art
 

Pièces jointes

  • doublons.zip
    2.8 KB · Affichages: 24
  • doublons.zip
    2.8 KB · Affichages: 25
  • doublons.zip
    2.8 KB · Affichages: 20
C

Celeda

Guest
Bonsoir,

Alors moi je vais me coucher et toi tu te léves ; si on avait eu un chat je t'aurais donné la solution en live et il fallait pas passer le week-end dessus. Tu aurais du nous contacter plus tôt : on a passé le week-end sur un autre post on t'aurai vu.

Je t'ai corrigé le fichier : la formule à Monique marche impec. Il fallait simplement nommer les plages. Je te l'ai fait et tu verras du rouge partoutttttttttttttttttttttttttttttttttttt. Et tu as aussi une liste des plages avec des noms. Il faut donner des noms pour que la formule fonctionne, par le menu Insertion - Nom.


Bon courage et bonne semaine.

Celeda
 

Pièces jointes

  • Doublons_sommeprod_conca_2.zip
    3.8 KB · Affichages: 25
M

Monique

Guest
Bonjour,

Il restait une erreur dans la formule de la colonne H (celle qui numérote les doublons).
Cette formule fait le total des doublons, puis soustrait les doublons à partir de la ligne du dessous.
 

Pièces jointes

  • Doublons_sommeprod_conca_3.zip
    3.1 KB · Affichages: 40
A

art

Guest
Bonsoir Monique, bonsoir Celeda, bonsoir à tous
Super, ca marche du tonnerre, merci Celeda pour m'avoir dit qu'il fallait nommer les plages, je n'y avait pas du tout pensé.
Monique, ta formule est une petite merveille, elle va beaucoup me servir, merci.
J'ai par contre une petite question concernant celle-ci:
Pourquoi numerote-tu, dans la formule, certaines colonnes jusqu'à 200?
Et la formule est-elle valable pour un fichier qui aurait 65000 lignes.
Voila, après je ne vous embeterait plus c'est deja super ce que vous avez fait. Merci à vous
 
M

Monique

Guest
Bonsoir,

Je me suis arrêtée à 200 pour ne pas alourdir le fichier.
On peut prolonger la formule, mais pas jusqu'à 65536 lignes, la vitesse de recalcul serait trop longue, surtout avec 7 colonnes.
Ou bien, dans ce cas, tu décoches l'option de calcul automatique (et dans ce cas, on calcule en appuyant sur la touche F9).
Barre de menu - Outils - Options - Onglet calcul et cocher "sur ordre".

Je viens de faire un essai en prolongeant la formule jusqu'à 65536, c'est très très très long.
Tu peux tout de même descendre bien plus bas que 200.
Arrivé à 20000, on voit déjà un ralentissement.

Pour changer 200 en > à 200, au lieu de s'amuser à changer le nombre dans la formule, il est pratique d'insérer des lignes, avant la ligne 200.
 

Statistiques des forums

Discussions
314 653
Messages
2 111 589
Membres
111 208
dernier inscrit
estalavista