Code VBA pour suppression de doublons

Bonjour,

Je suis débutant en VBA et je cherche un code pour supprimer les doublons de ma colonne B, la matrice s'étend jusqu'à la colonne I.

En enregistrant une macro je tombe sur ce code :

ActiveSheet.Range("$B$4:$I$941").RemoveDuplicates Columns:=1, Header:=xlYes

Etant donné que je mets à jour ma feuille régulièrement, la base "$B$4:$I$941" de suppresion des doublons changent également.

Quel code je pourrais utiliser pour que cette base ("$B$4:$I$941") commence toujours à la cellule B4 jusqu'à I4, et s'étend jusqu'à la dernière ligne non vide de ma feuille ?

Merci beaucoup pour vos aides :)

Bonjour et bienvenue,
Mets tes données sous forme de tableau.
Peux-tu indiquer ta version Excel dans ton profil ?
Cdlt.

Merci de ta réponse.

Peux-tu préciser ?

Si je nomme ma plage, je pourrais remplacer mes données ("$B$4:$I$941") par un nom ("Tableau"), mais étant donné que ma plage est variable mon "tableau" lui reste inchangé alors que je voudrais qu'il change de plage à chaque fois que j'actualise mes données.

J'ai du mal à trouver une solution, help...

Bonjour,
Les tableaux structurés (Ruban, Accueil, Mettre sous forme de tableau...) sont dynamiques.
Ta procédure pourrait être de ce type :

Public Sub RemoveDuplicates()
Dim ws As Worksheet, lo As ListObject
    Set ws = Worksheets("Feuil1")
    Set lo = ws.ListObjects("Tableau1")
    lo.Range.RemoveDuplicates Columns:=1, Header:=xlYes
End Sub

Cdlt.

Super merci beaucoup, tout fonctionne comme je le voulais.

Merci de ton aide !

Une dernière question, existe-il une autre solution sans utiliser un tableau ?

Bonjour,
Avec une plage de cellules débutant en A1 avec en-têtes.
Cdlt.

Public Sub RemoveDuplicates()
Dim ws As Worksheet, rngData as range
    Set ws = Worksheets("Feuil1")
    Set rngData= ws.Cells(1).CurrentRegion
    rngData.RemoveDuplicates Columns:=1, Header:=xlYes
End Sub
Rechercher des sujets similaires à "code vba suppression doublons"