Problème de dédoublonnage

  • Initiateur de la discussion Initiateur de la discussion virgal
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

V

virgal

Guest
Bonjour,

Il s'agit d'un problème concernant VBA
Sur ce fichier il y a plusieurs macros.
Là où j'ai un problème c'est sur la feuille CR_Sec_Annexe
Il y a une première macro qui récupère des codes et les afffiches en colonne B.
Mon but est d'avoir une liste sans doublons qui s'affiche à partir de la cellule B3.
Avec la fonction actuelle SuppressionDoublonsColonne cela m'affiche un message d'erreur "400".
Ma volonté derrière est d'avoir plusieurs duo de colonne type a et b.

Merci d'avance de votre aide
 

Pièces jointes

Re : Problème de dédoublonnage

bonjour virgal

et bienvenue sur XLD

Ta macro modifiée

Code:
Sub SuppressionDoublonColonne(NumCol As Integer)
Dim Cible As Range, Suivant As Range
Application.ScreenUpdating = False
With ActiveSheet.Cells
.Sort Key1:=.Cells(1, 2), Order1:=xlAscending
Set Cible = .Cells(1, 2)
Do
Set Suivant = Cible.Offset(1, 0)
If Suivant = Cible Then Cible.Delete xlUp
Set Cible = Suivant
Loop Until Cible = ""
End With
Application.ScreenUpdating = True
End Sub
 
Re : Problème de dédoublonnage

Cette solution me permet de faire le doublonnage mais me créer des cellules dans ma colonne A.
C'est le même fichier mais utilisé avec des noms différents pour que la simulation fonctionne.

Je n'arrive pas à comprendre pourquoi cela créer une cellule alors qu'il n'y as pas de "Insert" de marquer.

Merci d'avance,
 

Pièces jointes

Re : Problème de dédoublonnage

Pour Info j'ai trouvé cette solution,

ActiveSheet.Columns(Col - 1).SpecialCells(xlCellTypeBlanks).Delete xlUp

Ce qui me donne comme code
Sub SuppressionDoublonColonne(Col As Integer)

Dim Cible As Range
Dim Suivant As Range

Application.ScreenUpdating = False
With ActiveSheet.Cells
.Sort Key1:=.Cells(1, Col), Order1:=xlAscending
Set Cible = .Cells(1, Col)
Do
Set Suivant = Cible.Offset(1, 0)
If Suivant = Cible Then Cible.Delete xlShiftUp
Set Cible = Suivant
Loop Until Cible = ""
End With

ActiveSheet.Columns(Col - 1).SpecialCells(xlCellTypeBlanks).Delete xlUp

Application.ScreenUpdating = True
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
17
Affichages
787
Réponses
5
Affichages
455
Retour