Supprimer les doublons d'une ligne - Forum VB / VBA

A voir également:Supprimer les doublons d'une ligneExcel supprimer les doublons ligne ✓ - Forum - Excel Excel - Supprimer les doublons dans une colonne Excel - Conseils pratiques - Excel Supprimer les doublons photos - Conseils pratiques - Logiciels Supprimer les doublons - Télécharger - Nettoyage PC Supprimer les doublons itunes - Conseils pratiques - iTunes

Bonjour,

J'ai sur une même ligne de mon tableau excel ( et j'insiste sur le fait que ce soit une ligne) des valeurs qui peuvent se répéter. J'aimerais simplement supprimer les doublons de cette ligne. J'ai essayer d'utiliser la fonction DeleteDuplicates mais elle ne marche que si les données sont organisées en colonne.
Peut-etre que je l'ai mal utilisée ou existe t-il un autre moyen ?

Merci d'avance pour votre aide

Forum

A voir également:Supprimer les doublons d'une ligneExcel supprimer les doublons ligne ✓ - Forum - Excel Excel - Supprimer les doublons dans une colonne Excel - Conseils pratiques - Excel Supprimer les doublons photos - Conseils pratiques - Logiciels Supprimer les doublons - Télécharger - Nettoyage PC Supprimer les doublons itunes - Conseils pratiques - iTunes

Web: www.shapebootstrap.net

1 réponse

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Bonjour Gui, bonjour le forum,

Une proposition par macro (ligne à adapter) :

Sub Macro1() Dim PL As Range 'déclare la variable PL (Plage) Dim C As Range 'déclare la variable C (Cellule) Dim TVU() As Variant 'déclare la variable TVU (Tableau des Valeurs Uniques) Dim I As Integer 'déclare la variable I (Incrément)  Set PL = Application.Intersect(ActiveSheet.UsedRange, Rows(1)) 'définit la plage PL (ici les cellules éditée de la ligne 1, ligne à adapter à ton cas) For Each C In PL 'boucle 1 : sur toutes les cellule C de la plage PL     If Application.WorksheetFunction.CountIf(PL, C.Value) = 1 Or I = 0 Then 'condition : si la cellule est unique ou si le tableau des valeurs uniques TVU est vide         ReDim Preserve TVU(I) 'redimensionne le tableau des valeur uniques TVU         TVU(I) = C.Value 'récupère la valeur de C dans le tableau des valeurs uniques TVU         I = I + 1 'incrémente I     Else 'sinon         For J = 0 To UBound(TVU) 'boucle 2 : sur toutes les valeurs du tableau des valeurs uniques TVU             If TVU(J) = C.Value Then GoTo suite 'si la valeur de la boucle est égale à la valeur de la cellule, va à l'étiquette "suite"         Next J 'prochaine valeur de la boucle 2         ReDim Preserve TVU(I) 'redimensionne le tableau des valeur uniques TVU         TVU(I) = C.Value 'récupère la valeur de C dans le tableau des valeurs uniques         I = I + 1 'incrémente I suite: 'étiquette     End If 'fin de la condition Next C 'prochaine cellule de la boucle 1 PL.ClearContents 'efface le contenu de la plage PL PL(1).Resize(1, UBound(TVU, 1) + 1).Value = TVU 'renvoie dans la première cellule de la plage PL le tableau TVU End Sub

Reply

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed