Supprimer les doublons d'une ligne
Fermé
Gui110
Messages postés
9
Date d'inscription
mardi 29 mai 2018
Statut
Membre
Dernière intervention
18 juin 2018
-
13 juin 2018 à 09:40
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 14 juin 2018 à 09:30
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 14 juin 2018 à 09:30
A voir également:
- Supprimer les doublons d'une ligne
- Supprimer les doublons excel - Guide
- Supprimer une page word - Guide
- Supprimer compte instagram - Guide
- Supprimer les doublons photos gratuit - Télécharger - Nettoyage
- Aller à la ligne excel - Guide
1 réponse
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
14 juin 2018 à 09:30
14 juin 2018 à 09:30
Bonjour Gui, bonjour le forum,
Une proposition par macro (ligne à adapter) :
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