Transformer le sens d'une extraction en VBA

Bonjour,

J'utilise ce code pour créer une liste sans doublons dans un autre onglet de mon classeur :

Sub SansDoublonsTrie()
Dim MonDico As Object
Dim c As Range

Set MonDico = CreateObject("Scripting.Dictionary")
With Worksheets("Rapport1")
    For Each c In .Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
        If Not MonDico.exists(Trim(c.Value)) Then MonDico.Add Trim(c.Value), Trim(c.Value)
    Next c
    With Sheets("Activités terminées").Range("A3").Resize(MonDico.Count, 1)
        .Value = Application.Transpose(MonDico.keys)
        .Sort Key1:=Worksheets("Activités terminées").Range("A3"), Order1:=xlAscending, Header:=xlNo
    End With
End With
Set MonDico = Nothing
End Sub 

Actuellement, l'extraction se fait de façon verticale dans la feuille "Activités terminées" à partir de la cellule A3.

Comment modifier le code pour que l'extraction deviennent horizontale à partir de la cellule G2 et ce jusqu'à la cellule Z2 par exemple ?

Merci par avance et bonne journée.

Bjr TMS,

à tester

Sub SansDoublonsTrie()
Dim MonDico As Object
Dim c As Range

Set MonDico = CreateObject("Scripting.Dictionary")
With Worksheets("Rapport1")
    For Each c In .Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
        If Not MonDico.exists(Trim(c.Value)) Then MonDico.Add Trim(c.Value), Trim(c.Value)
    Next c
    With Sheets("Activités terminées").Range("G2").Resize(1, MonDico.Count)
        .Value = MonDico.keys
        .Sort Key1:=Worksheets("Activités terminées").Range("G2"), Order1:=xlAscending, Orientation:=xlLeftToRight, Header:=xlNo
    End With
End With
Set MonDico = Nothing
End Sub

Bonjour m3ellem1,

Je te remercie : c'est parfait.

Bonne journée.

Rechercher des sujets similaires à "transformer sens extraction vba"