XL 2016 RemoveDupplicate sur plusieurs colonnes prises séparement

ARNAUDP75007

XLDnaute Nouveau
Bonjour,
Je tente en vain différentes formules, et rechercher les postes sur la suppression des doublons mais rien n'y fait. L'objet de ma demande est simple : Supprimer les doublons dans chacune des colonnes de ma feuille active. J'ai essayé de faire une boucle mais je ne sais pas comment mettre un compteur sur des colonnes qui vont de A à AH par exemple. Et quand ca supprime des doublons, ca les supprimes sur toutes la ligne, alors que mon besoin est de :
- Sélectionner la colonne active
- Supprimer les doublons uniquement sur les valeurs de la colonne active
- Aller à la colonne suivante
- Supprimer les doublons de la colonne suivante etc...

Question bonus : Pour que ma recherche v fonctionne, il fatu que j'utilise Données => Convertir => Texte. Si je sélectionne mon tableau entier et que je change le format de cellule , cela ne fonctionne pas. Comment je peux convertir en texte 230 colonnes faire la conversion une colonne par une colonne ? Vous auriez peut etre une ligne de code vba ?

Merci infiniment !
 
Solution
Bonsoir @ARNAUDP75007,
Bienvenue sur XLD :),

Un fichier exemple eut été aussi le bienvenu ;).
Cliquer sur le bouton en bleu.

Le code est dans module1:
VB:
Sub OterDoublons()
Dim der As Long, j As Long
   Application.ScreenUpdating = False
   With Sheets("Feuil1")
      If .FilterMode Then .ShowAllData
      For j = 1 To Range("ah1").Column
         der = .Cells(.Rows.Count, j).End(xlUp).Row
         If der >= 2 Then .Cells(1, j).Resize(der).RemoveDuplicates Columns:=1, Header:=xlYes
      Next j
   End With
End Sub

Laliepomm

XLDnaute Junior
Bonjour,
tu devrais ajouter un tableau excel avec quelques données et ton attendu pour qu'on puisse t'aider.
pour ta question bonus: pourquoi ne pas utiliser plutôt la fonction INDEX/EQUIV tu n'aurais plus le problème du format de cellule (je pense)?
Salutations,
Lalie
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @ARNAUDP75007,
Bienvenue sur XLD :),

Un fichier exemple eut été aussi le bienvenu ;).
Cliquer sur le bouton en bleu.

Le code est dans module1:
VB:
Sub OterDoublons()
Dim der As Long, j As Long
   Application.ScreenUpdating = False
   With Sheets("Feuil1")
      If .FilterMode Then .ShowAllData
      For j = 1 To Range("ah1").Column
         der = .Cells(.Rows.Count, j).End(xlUp).Row
         If der >= 2 Then .Cells(1, j).Resize(der).RemoveDuplicates Columns:=1, Header:=xlYes
      Next j
   End With
End Sub
 

Pièces jointes

  • ARNAUDP75007- oter doublons- v1.xlsm
    23.1 KB · Affichages: 12

ARNAUDP75007

XLDnaute Nouveau
Un grand merci pour ton aide. Pour la prochaine fois je ne manquerai pas de mettre un fichier. En fait comme c'était des données confidentielles d'entreprise je ne me suis pas permis mais je mettrai des données fictives en exemple. Encoreerci et excellente journée !
 

Discussions similaires

Réponses
2
Affichages
239
Réponses
12
Affichages
361

Statistiques des forums

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