Code VBA - Suppression de doublons

Bonjour à tous et merci de m'avoir accueilli sur le forum. Je suis un jeune débutant en code VBA.

J'ai énormément de mal à coder ce que je souhaite et j'en l'ai besoin dans un lapse de temps vraiment faible.

En effet; j'ai un tableau qui est très lourd et pour ça je souhaite supprimer tous les doublons sur une colonne. Le problème est que je souhaite comparer les cellules d'une colonne et si les cellules de cette colonne sont identiques alors je supprime la ligne entière.

Ainsi avec un tableau plus simplifié.

image image

Merci beaucoup

Bonjour,

Un petit coup d'enregistreur de macro aurait suffit. Code à adapter. :

Sub SUPP_DOUBLON()
Worksheets("Feuil1").UsedRange.RemoveDuplicates Columns:=2, Header:=xlNo
End Sub

Si ça ne convient pas, merci de préciser le besoin avec un exemple représentatif.

Cdlt,

Bonjour,

Cela ne fonctionne pas. Quelle est la différence avec un enregistrement Macro.

Je te met un exemple un peu d'un tableau un peu plus conséquent

image

Bonjour,

Petite lecture pour l'enregistreur de macro qui sert à convertir les actions réalisées à l'écran via les fonctions standards EXCEL en langage VBA, avant retravail et optimisation du code.

Cependant vu que le temps presse :

Sub SUPP_DOUBLON()
Dim LR As Long
With Worksheets("Feuil1")
    LR = .Cells(.Rows.Count, 2).End(xlUp).Row 'Défini la dernière ligne de la colonne B
    .Range("B7:H" & LR).RemoveDuplicates Columns:=2 'Supprime les doublons de la 2ème colonne de la plage B7 a H et dernière ligne
End With
End Sub

Cdlt,

As-tu bien compris que je veux comparer la colonnes avec les noms de ville et ensuite de supprimer la ligne entière correspondante au doublons. Ainsi je ne comprends pas pourquoi tu parles des doublons de la colonne B. De plus, le code m'affiche une erreur.

image

Merci de m'aider c'est super gentil

Bonjour,

Ainsi je ne comprends pas pourquoi tu parles des doublons de la colonne B.

Car la comparaison est réalisée par la suppression des doublons. Je précise la colonne 2 de la plage B7 à H32, donc la 2ème colonne de cette plage est donc bel et bien la colonne C qui contient vos villes.

Chez moi le code fonctionne sans message d'erreur comme l'atteste le fichier joint, les colonnes E à H sont fictives et n'ont pour but que de retrouver le numéro de ligne initial conservé.

N'arrivant à reproduire votre message, je ne pourrais aller plus loin sans fichier sur lequel vous avez un message d'erreur désolé.

Bon courage.

Cdlt,

12classeur1.xlsm (15.32 Ko)

Apparemment, cette erreur est du à mon système d'entreprise qui désactive les macros pour la sécurité informatique.

Avez-vous une idée ou une autre méthode que je pourrai utiliser?

Bonjour,

Dans ce cas en ne passant pas par macro mais via la manipulation EXCEL après sélection de votre plage :

image

Je vous laisse trouver l'équivalence sous votre version d'EXCEL.

On pourrait aussi passer par POWER QUERY, si disponible sous votre version d'EXCEL comme vous ne l'avez pas indiqué mais ça dupliquerai la table lors de son chargement, donc je pense que la solution standard est à privilégier.

Cdlt,

image

J'ai recopié le code car je me suis dis que c'étais la sécurité informatique. Ainsi il affiche une autre erreur la 438

Bonjour,

Ce n'est pas .Row.Count mais .Rows.Count .. De plus vous pouvez remplacer le ,2 par ,3 comme ça on est sûr de définir la dernière ligne de la plage en fonction de la colonne C (même si dans vos exemple B et C se terminaient à la même ligne).

Cdlt,

Rechercher des sujets similaires à "code vba suppression doublons"