Pb extraction d'une liste sans doublon

  • Initiateur de la discussion Initiateur de la discussion man95
  • 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 !

man95

XLDnaute Occasionnel
Bonjour à vous tous


Voilà mon petit soucis

Grace à un code que j'ai trouvé sur le forum et que j'ai adapté à mon besoin je reussi a extraire d'une colonne un liste sans doublon.

Le probleme est que j'ai une erreur lors ma colonne de comporte pas de donnée

Merci à tous ceux qui pourront m'aider

je joint un fichier exemple afin que cela soit plus parlant

Man
 

Pièces jointes

Re : Pb extraction d'une liste sans doublon

salut,

à essayer,
Code:
Sub extrait_sans_doublon()
  [B][D3:D31].ClearContents[/B]
  Dim I As Long, [B]d As Long[/B], z As Variant, L As Object
  Set L = CreateObject("Scripting.Dictionary")
  d = Range("G65536").End(xlUp).Row[B]: If d = 33 Then Exit Sub[/B]
  t = Range("G33:G" & [B]d[/B]).Value
...
 
Re : Pb extraction d'une liste sans doublon

Bonjour le Forum,
Bonjour man95,

je ne suis vraiment pas bon en macro mais en ajoutant les 2 lignes en rouge ca a l'air de fonctionner

Code:
Sub extrait_sans_doublon()

Dim I As Long, t, z As Variant, L As Object

Set L = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
t = Range("G32:G" & Range("G65536").End(xlUp).Row)
[COLOR=Red]t1 = Range("G33")
If t1 = "" Then Exit Sub[/COLOR]

For I = LBound(t) + 1 To UBound(t)

  If Not L.exists(t(I, 1)) Then L.Add t(I, 1), t(I, 1)
  
Next



[D5] = "Centre"


For Each z In L
Range("D30").End(xlUp).Offset(1, 0).Value = z

Next
End Sub
Meilleurs voeux 2010

Jocelyn

EDIT : Oup's Bonjour Fo_rum, désolé pour la collision
 
Dernière édition:
Re : Pb extraction d'une liste sans doublon

Bonjour à tous
Code:
[COLOR="DarkSlateGray"][B]Sub extrait_sans_doublon()
Dim I As Long, t, z As Variant, L As Object
   If Intersect(Range("G33:G65536"), Range("G32:G" & Range("G65536").End(xlUp).Row)) Is Nothing Then Exit Sub
   t = Intersect(Range("G33:H65536"), Range("H32:G" & Range("G65536").End(xlUp).Row)).Value
   ReDim Preserve t(1 To UBound(t, 1), 1 To 1)
   Set L = CreateObject("Scripting.Dictionary")
   For I = LBound(t) + 0 To UBound(t)
      If Not L.exists(t(I, 1)) Then L.Add t(I, 1), t(I, 1)
   Next
   Application.ScreenUpdating = False
   [D5] = "Centre"
   For Each z In L
      Range("D30").End(xlUp).Offset(1, 0).Value = z
   Next
   Application.ScreenUpdating = True
End Sub[/B][/COLOR]
ROGER2327
#2586
 
Re : Pb extraction d'une liste sans doublon

Bonjour Fo rum, Jocelyn, Roger,

Merci pour vos réponses qui répondent à ma demande. Par contre je vous ai fourni un extrait petit extrait de ma macro, dans les faits j'utilise cette procedure pour tous les onglets de mon classeur par une boucle (for next) j'aimerai donc si cela est possible que je ne sorte pas de la procédure mais que je puis passer à la feuille suivante.

je vérifie si je peux envoyer un fichier plus explicite.
 
- 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

Discussions similaires

  • Question Question
XL 2016 liste
Réponses
10
Affichages
386
  • Question Question
Microsoft 365 agrandir la liste
Réponses
21
Affichages
663
Réponses
6
Affichages
321
Réponses
3
Affichages
295
Retour