[RESOLU] Extraire Sans Doublons Avec 1 Critère Nom

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 !

Le_Troll_Du_27

XLDnaute Occasionnel
Bonjour le Forum

Je voudrais pouvoir extraire sans doublons une liste en "C" référence d'une autre liste en A ou le critère est la partie d'un nom de cette propre liste et ranger par ordre alphabétique en O.

Dsl cela n'a pas l'air tes clair. Je joins le fichier pour y voir plus clair.

Code:
Sub ItemsUniquesMainOeuvre()
    Sheets("BDD").Select
    Application.ScreenUpdating = False
    ' Déclaration d'une nouvelle collection
    Dim NoDupes As New Collection
    ' Sélection de la plage à traiter
    c = Range([C2], [C65536].End(xlUp)).Value
    [C1].Select
    ' Désactivation du gestionnaire d'erreurs
    On Error Resume Next
    ' Boucle pour récupérer la collection d'items uniques
    For J = 1 To UBound(c, 1)
        NoDupes.Add c(J, 1), CStr(c(J, 1))
    Next J
    ' Réactivation du gestionnaire d'erreurs
    On Error GoTo 0
    ' Récupération des items uniques
    For I = 1 To NoDupes.Count
        Cells(I + 1, 17).Value = NoDupes(I)
    Next I

End Sub

Cordialement

Laurent
 

Pièces jointes

Dernière édition:
Re : Extraire Sans Doublons Avec 1 Critère Nom

bonjour
à tester pour dictionary tu peux mettre Set d = CreateObject("Scripting.Dictionary") et tu enlèves d As New Dictionary

Sub MainOeuvreUnic() 'pour dictionary cocher microsoft.scripting runtime dans outils,références
Dim a, d As New Dictionary, i As Long, x As String, y As String

Sheets("BDD").Range([Q2], [Q65536].End(xlUp)).ClearContents
a = Sheets("BDD").[A1].CurrentRegion
x = UCase("main") ' d'oeuvre") 'le oe de oeuvre pose problème
For i = 2 To UBound(a)
y = UCase(Left(a(i, 1), Len(x)))
If y = x Then d(a(i, 3)) = a(i, 3)
Next i
Sheets("BDD").[Q2].Resize(d.Count) = Application.Transpose(d.Items)
End Sub
 
Re : [RESOLU] Extraire Sans Doublons Avec 1 Critère Nom

bonjour tous🙂🙂🙂

par curiosité😱 j'ai testé
le code de l'ami Bebere🙂 fonctionne trés bien tu as pas bien lu ce qu' il a ecrit !!!

Code:
Dim a, d As Object, i As Long, x As String, y As String
Set d = CreateObject("scripting.dictionary")
Sheets("BDD").Range([Q2], [Q65536].End(xlUp)).ClearContents
a = Sheets("BDD").[A1].CurrentRegion
x = UCase("main") ' d'oeuvre") 'le oe de oeuvre pose problème
For i = 2 To UBound(a)
y = UCase(Left(a(i, 1), Len(x)))
If y = x Then d(a(i, 3)) = a(i, 3)
Next i
Sheets("BDD").[Q2].Resize(d.Count) = Application.Transpose(d.Items)


Jacou🙂 attention a l'utilisation d'une Collection sur les grandes plages???
 
Re : [RESOLU] Extraire Sans Doublons Avec 1 Critère Nom

Bonjour le forum, le fil
C'est exact , j'ai mal recopié les instructions de Bebere, je suis navré, je l'ai réessayer avec les instructions est il fonctionne très bien.
Dsl de ma réponse tardive j'étais occupé.

Amicalement

Laurent
 
Re : [RESOLU] Extraire Sans Doublons Avec 1 Critère Nom

Bonjour le forum, bonjour laetitia,
tu as sans doute raison quant à l'utilisation de "collections" que personnellement je n'utilise pas.
je me suis contenté de reprendre le code initial de Laurent pour le compléter.
Jacou
 
Dernière édition:
Re : [RESOLU] Extraire Sans Doublons Avec 1 Critère Nom

Bonjour Jean Marie,Jacou ,Laurent,Laetitia
je me suis fait cette réflexion car dans le code il y a
x=ucase("main d'oeuvre") et y =ucase(a(i,1),len(x))
x donne "MAIN D'OEUVRE" et y donne le OE ensemble et un espace en plus à la fin
 
- 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

Réponses
7
Affichages
921
Réponses
2
Affichages
1 K
Réponses
4
Affichages
870
Retour