OVH Cloud OVH Cloud

erreur ????????

8 réponses
Avatar
Jacques
Bonjour,

J'ai écris cette fonction pour créer une liste déroulante en filtrant les
doublons mais j'ai une erreur du type :
"Nombre d'arguments incorretc ou affection de propriété incorrecte"
Je n'arrive pas à trouer de ou ça vient.
Pouvez-vous m'aider ?
Voila mon code

Option Explicit


Private Sub UserForm_Initialize()
' Construction de la liste Transaction
List_transaction = Construction_list("b")

' On initalise la liste avec le premier nom
' List_transaction.Value = List_transaction(1)
End Sub

Function Construction_list(col As String)

Dim i As Integer, derlg
Dim Cell As Range
Dim List_temp As New Collection
Dim List_ret As New Collection

On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each Cell In Range(col & "2:" & col & derlg)
List_temp.Add Cell, CStr(Cell)
Next Cell
On Error GoTo 0

'insertion données uniques dans le Combobox
For i = 1 To List_temp.Count
If (List_temp(i) <> "") Then List_ret.Add List_temp(i)
Next i

Construction_list = List_ret
End Function


Merci d'avance
Jacqques

8 réponses

Avatar
LSteph
Bonjour,
pourquoi pas plus simplement:

'****
Option Explicit


Private Sub UserForm_Initialize()

Dim col As String
Dim i As Integer, derlg
Dim c As Range
Dim List_temp As New Collection

col = "b" 'si le but est de faire varier ici

On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each c In Range(col & "2:" & col & derlg)
List_temp.Add c, CStr(c)
Next c
On Error GoTo 0

'insertion données uniques dans la LISTbox
For i = 1 To List_temp.Count
List_transaction.AddItem List_temp(i)
Next i


End Sub
'****

'lSteph

"Jacques" a écrit dans le message de news:
4334f3b9$0$17241$
Bonjour,

J'ai écris cette fonction pour créer une liste déroulante en filtrant les
doublons mais j'ai une erreur du type :
"Nombre d'arguments incorretc ou affection de propriété incorrecte"
Je n'arrive pas à trouer de ou ça vient.
Pouvez-vous m'aider ?
Voila mon code

Option Explicit


Private Sub UserForm_Initialize()
' Construction de la liste Transaction
List_transaction = Construction_list("b")

' On initalise la liste avec le premier nom
' List_transaction.Value = List_transaction(1)
End Sub

Function Construction_list(col As String)

Dim i As Integer, derlg
Dim Cell As Range
Dim List_temp As New Collection
Dim List_ret As New Collection

On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each Cell In Range(col & "2:" & col & derlg)
List_temp.Add Cell, CStr(Cell)
Next Cell
On Error GoTo 0

'insertion données uniques dans le Combobox
For i = 1 To List_temp.Count
If (List_temp(i) <> "") Then List_ret.Add List_temp(i)
Next i

Construction_list = List_ret
End Function


Merci d'avance
Jacqques



Avatar
Jacques
Bonjour,

Tout simplement parce que j'ai plusieurs liste à créer et que mon code sera
beaucoup plus lisible en utilisant une fonction qui pourra être réutilisé
pour la création de toute mes Combobox.

Jacques

"LSteph" a écrit dans le message de news:

Bonjour,
pourquoi pas plus simplement:

'****
Option Explicit


Private Sub UserForm_Initialize()

Dim col As String
Dim i As Integer, derlg
Dim c As Range
Dim List_temp As New Collection

col = "b" 'si le but est de faire varier ici

On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each c In Range(col & "2:" & col & derlg)
List_temp.Add c, CStr(c)
Next c
On Error GoTo 0

'insertion données uniques dans la LISTbox
For i = 1 To List_temp.Count
List_transaction.AddItem List_temp(i)
Next i


End Sub
'****

'lSteph

"Jacques" a écrit dans le message de news:
4334f3b9$0$17241$
Bonjour,

J'ai écris cette fonction pour créer une liste déroulante en filtrant les
doublons mais j'ai une erreur du type :
"Nombre d'arguments incorretc ou affection de propriété incorrecte"
Je n'arrive pas à trouer de ou ça vient.
Pouvez-vous m'aider ?
Voila mon code

Option Explicit


Private Sub UserForm_Initialize()
' Construction de la liste Transaction
List_transaction = Construction_list("b")

' On initalise la liste avec le premier nom
' List_transaction.Value = List_transaction(1)
End Sub

Function Construction_list(col As String)

Dim i As Integer, derlg
Dim Cell As Range
Dim List_temp As New Collection
Dim List_ret As New Collection

On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each Cell In Range(col & "2:" & col & derlg)
List_temp.Add Cell, CStr(Cell)
Next Cell
On Error GoTo 0

'insertion données uniques dans le Combobox
For i = 1 To List_temp.Count
If (List_temp(i) <> "") Then List_ret.Add List_temp(i)
Next i

Construction_list = List_ret
End Function


Merci d'avance
Jacqques







Avatar
LSteph
Re,
comme tu veux dans ce cas j'utiliserais plutôt une sub paramétrée qu'une
fonction
sub remplist(laliste,col)
...

'lSteph

"Jacques" a écrit dans le message de news:
43351fce$0$1014$
Bonjour,

Tout simplement parce que j'ai plusieurs liste à créer et que mon code
sera beaucoup plus lisible en utilisant une fonction qui pourra être
réutilisé pour la création de toute mes Combobox.

Jacques

"LSteph" a écrit dans le message de news:

Bonjour,
pourquoi pas plus simplement:

'****
Option Explicit


Private Sub UserForm_Initialize()

Dim col As String
Dim i As Integer, derlg
Dim c As Range
Dim List_temp As New Collection

col = "b" 'si le but est de faire varier ici

On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each c In Range(col & "2:" & col & derlg)
List_temp.Add c, CStr(c)
Next c
On Error GoTo 0

'insertion données uniques dans la LISTbox
For i = 1 To List_temp.Count
List_transaction.AddItem List_temp(i)
Next i


End Sub
'****

'lSteph

"Jacques" a écrit dans le message de news:
4334f3b9$0$17241$
Bonjour,

J'ai écris cette fonction pour créer une liste déroulante en filtrant
les doublons mais j'ai une erreur du type :
"Nombre d'arguments incorretc ou affection de propriété incorrecte"
Je n'arrive pas à trouer de ou ça vient.
Pouvez-vous m'aider ?
Voila mon code

Option Explicit


Private Sub UserForm_Initialize()
' Construction de la liste Transaction
List_transaction = Construction_list("b")

' On initalise la liste avec le premier nom
' List_transaction.Value = List_transaction(1)
End Sub

Function Construction_list(col As String)

Dim i As Integer, derlg
Dim Cell As Range
Dim List_temp As New Collection
Dim List_ret As New Collection

On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each Cell In Range(col & "2:" & col & derlg)
List_temp.Add Cell, CStr(Cell)
Next Cell
On Error GoTo 0

'insertion données uniques dans le Combobox
For i = 1 To List_temp.Count
If (List_temp(i) <> "") Then List_ret.Add List_temp(i)
Next i

Construction_list = List_ret
End Function


Merci d'avance
Jacqques











Avatar
Jacques
Bonjour,

J'avais commencer par ça mais lorsque je dois ajouter les entrée et que
j'écris :

sub remplist(laliste,col)
laliste.additem "toto"
J'ai une erreur, il n'aime pas la liste, bien sur je l'appelle avec Call
remplist("maliste","3")

Jacques

"LSteph" a écrit dans le message de news:

Re,
comme tu veux dans ce cas j'utiliserais plutôt une sub paramétrée qu'une
fonction
sub remplist(laliste,col)
...

'lSteph

"Jacques" a écrit dans le message de news:
43351fce$0$1014$
Bonjour,

Tout simplement parce que j'ai plusieurs liste à créer et que mon code
sera beaucoup plus lisible en utilisant une fonction qui pourra être
réutilisé pour la création de toute mes Combobox.

Jacques

"LSteph" a écrit dans le message de news:

Bonjour,
pourquoi pas plus simplement:

'****
Option Explicit


Private Sub UserForm_Initialize()

Dim col As String
Dim i As Integer, derlg
Dim c As Range
Dim List_temp As New Collection

col = "b" 'si le but est de faire varier ici

On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each c In Range(col & "2:" & col & derlg)
List_temp.Add c, CStr(c)
Next c
On Error GoTo 0

'insertion données uniques dans la LISTbox
For i = 1 To List_temp.Count
List_transaction.AddItem List_temp(i)
Next i


End Sub
'****

'lSteph

"Jacques" a écrit dans le message de news:
4334f3b9$0$17241$
Bonjour,

J'ai écris cette fonction pour créer une liste déroulante en filtrant
les doublons mais j'ai une erreur du type :
"Nombre d'arguments incorretc ou affection de propriété incorrecte"
Je n'arrive pas à trouer de ou ça vient.
Pouvez-vous m'aider ?
Voila mon code

Option Explicit


Private Sub UserForm_Initialize()
' Construction de la liste Transaction
List_transaction = Construction_list("b")

' On initalise la liste avec le premier nom
' List_transaction.Value = List_transaction(1)
End Sub

Function Construction_list(col As String)

Dim i As Integer, derlg
Dim Cell As Range
Dim List_temp As New Collection
Dim List_ret As New Collection

On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each Cell In Range(col & "2:" & col & derlg)
List_temp.Add Cell, CStr(Cell)
Next Cell
On Error GoTo 0

'insertion données uniques dans le Combobox
For i = 1 To List_temp.Count
If (List_temp(i) <> "") Then List_ret.Add List_temp(i)
Next i

Construction_list = List_ret
End Function


Merci d'avance
Jacqques















Avatar
LSteph
Re,
ex avec combobox1 et combobox2


'****
Option Explicit
Dim col As String
Dim List_temp As New Collection

Private Sub UserForm_Initialize()
Call rempliste(ComboBox1, "b")
Call rempliste(ComboBox2, "c")
End Sub
Sub rempliste(malist As ComboBox, col As String)


Dim i As Integer, derlg
Dim c As Range

On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each c In Range(col & "2:" & col & derlg)
List_temp.Add c, CStr(c)
Next c
On Error GoTo 0

'insertion données uniques dans la Combobox
For i = 1 To List_temp.Count
malist.AddItem List_temp(i)
Next i


End Sub
'****

'lSteph
"Jacques" a écrit dans le message de news:
433575d2$0$996$
Bonjour,

J'avais commencer par ça mais lorsque je dois ajouter les entrée et que
j'écris :

sub remplist(laliste,col)
laliste.additem "toto"
J'ai une erreur, il n'aime pas la liste, bien sur je l'appelle avec Call
remplist("maliste","3")

Jacques

"LSteph" a écrit dans le message de news:

Re,
comme tu veux dans ce cas j'utiliserais plutôt une sub paramétrée qu'une
fonction
sub remplist(laliste,col)
...

'lSteph

"Jacques" a écrit dans le message de news:
43351fce$0$1014$
Bonjour,

Tout simplement parce que j'ai plusieurs liste à créer et que mon code
sera beaucoup plus lisible en utilisant une fonction qui pourra être
réutilisé pour la création de toute mes Combobox.

Jacques

"LSteph" a écrit dans le message de news:

Bonjour,
pourquoi pas plus simplement:

'****
Option Explicit


Private Sub UserForm_Initialize()

Dim col As String
Dim i As Integer, derlg
Dim c As Range
Dim List_temp As New Collection

col = "b" 'si le but est de faire varier ici

On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each c In Range(col & "2:" & col & derlg)
List_temp.Add c, CStr(c)
Next c
On Error GoTo 0

'insertion données uniques dans la LISTbox
For i = 1 To List_temp.Count
List_transaction.AddItem List_temp(i)
Next i


End Sub
'****

'lSteph

"Jacques" a écrit dans le message de news:
4334f3b9$0$17241$
Bonjour,

J'ai écris cette fonction pour créer une liste déroulante en filtrant
les doublons mais j'ai une erreur du type :
"Nombre d'arguments incorretc ou affection de propriété incorrecte"
Je n'arrive pas à trouer de ou ça vient.
Pouvez-vous m'aider ?
Voila mon code

Option Explicit


Private Sub UserForm_Initialize()
' Construction de la liste Transaction
List_transaction = Construction_list("b")

' On initalise la liste avec le premier nom
' List_transaction.Value = List_transaction(1)
End Sub

Function Construction_list(col As String)

Dim i As Integer, derlg
Dim Cell As Range
Dim List_temp As New Collection
Dim List_ret As New Collection

On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each Cell In Range(col & "2:" & col & derlg)
List_temp.Add Cell, CStr(Cell)
Next Cell
On Error GoTo 0

'insertion données uniques dans le Combobox
For i = 1 To List_temp.Count
If (List_temp(i) <> "") Then List_ret.Add List_temp(i)
Next i

Construction_list = List_ret
End Function


Merci d'avance
Jacqques



















Avatar
LSteph
Re,Re, juste un oubli:

'****
Option Explicit
Dim col As String
Dim List_temp As New Collection

Private Sub UserForm_Initialize()
Call rempliste(ComboBox1, "b")
Call rempliste(ComboBox2, "c")
End Sub
Sub rempliste(malist As ComboBox, col As String)


Dim i As Integer, derlg
Dim c As Range
Do While List_temp.Count > 0
List_temp.Remove 1
Loop
On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each c In Range(col & "2:" & col & derlg)
List_temp.Add c, CStr(c)
Next c
On Error GoTo 0

'insertion données uniques dans la LISTbox
For i = 1 To List_temp.Count
malist.AddItem List_temp(i)
Next i


End Sub
'****
'lSteph

"Jacques" a écrit dans le message de news:
433575d2$0$996$
Bonjour,

J'avais commencer par ça mais lorsque je dois ajouter les entrée et que
j'écris :

sub remplist(laliste,col)
laliste.additem "toto"
J'ai une erreur, il n'aime pas la liste, bien sur je l'appelle avec Call
remplist("maliste","3")

Jacques

"LSteph" a écrit dans le message de news:

Re,
comme tu veux dans ce cas j'utiliserais plutôt une sub paramétrée qu'une
fonction
sub remplist(laliste,col)
...

'lSteph

"Jacques" a écrit dans le message de news:
43351fce$0$1014$
Bonjour,

Tout simplement parce que j'ai plusieurs liste à créer et que mon code
sera beaucoup plus lisible en utilisant une fonction qui pourra être
réutilisé pour la création de toute mes Combobox.

Jacques

"LSteph" a écrit dans le message de news:

Bonjour,
pourquoi pas plus simplement:

'****
Option Explicit


Private Sub UserForm_Initialize()

Dim col As String
Dim i As Integer, derlg
Dim c As Range
Dim List_temp As New Collection

col = "b" 'si le but est de faire varier ici

On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each c In Range(col & "2:" & col & derlg)
List_temp.Add c, CStr(c)
Next c
On Error GoTo 0

'insertion données uniques dans la LISTbox
For i = 1 To List_temp.Count
List_transaction.AddItem List_temp(i)
Next i


End Sub
'****

'lSteph

"Jacques" a écrit dans le message de news:
4334f3b9$0$17241$
Bonjour,

J'ai écris cette fonction pour créer une liste déroulante en filtrant
les doublons mais j'ai une erreur du type :
"Nombre d'arguments incorretc ou affection de propriété incorrecte"
Je n'arrive pas à trouer de ou ça vient.
Pouvez-vous m'aider ?
Voila mon code

Option Explicit


Private Sub UserForm_Initialize()
' Construction de la liste Transaction
List_transaction = Construction_list("b")

' On initalise la liste avec le premier nom
' List_transaction.Value = List_transaction(1)
End Sub

Function Construction_list(col As String)

Dim i As Integer, derlg
Dim Cell As Range
Dim List_temp As New Collection
Dim List_ret As New Collection

On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each Cell In Range(col & "2:" & col & derlg)
List_temp.Add Cell, CStr(Cell)
Next Cell
On Error GoTo 0

'insertion données uniques dans le Combobox
For i = 1 To List_temp.Count
If (List_temp(i) <> "") Then List_ret.Add List_temp(i)
Next i

Construction_list = List_ret
End Function


Merci d'avance
Jacqques



















Avatar
Jacques
OK c'était donc ma déclaration qui n'étatit pas bonne.
Ca marche super, merci

Jacques

"LSteph" a écrit dans le message de news:
%
Re,Re, juste un oubli:

'****
Option Explicit
Dim col As String
Dim List_temp As New Collection

Private Sub UserForm_Initialize()
Call rempliste(ComboBox1, "b")
Call rempliste(ComboBox2, "c")
End Sub
Sub rempliste(malist As ComboBox, col As String)


Dim i As Integer, derlg
Dim c As Range
Do While List_temp.Count > 0
List_temp.Remove 1
Loop
On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each c In Range(col & "2:" & col & derlg)
List_temp.Add c, CStr(c)
Next c
On Error GoTo 0

'insertion données uniques dans la LISTbox
For i = 1 To List_temp.Count
malist.AddItem List_temp(i)
Next i


End Sub
'****
'lSteph

"Jacques" a écrit dans le message de news:
433575d2$0$996$
Bonjour,

J'avais commencer par ça mais lorsque je dois ajouter les entrée et que
j'écris :

sub remplist(laliste,col)
laliste.additem "toto"
J'ai une erreur, il n'aime pas la liste, bien sur je l'appelle avec Call
remplist("maliste","3")

Jacques

"LSteph" a écrit dans le message de news:

Re,
comme tu veux dans ce cas j'utiliserais plutôt une sub paramétrée
qu'une fonction
sub remplist(laliste,col)
...

'lSteph

"Jacques" a écrit dans le message de news:
43351fce$0$1014$
Bonjour,

Tout simplement parce que j'ai plusieurs liste à créer et que mon code
sera beaucoup plus lisible en utilisant une fonction qui pourra être
réutilisé pour la création de toute mes Combobox.

Jacques

"LSteph" a écrit dans le message de news:

Bonjour,
pourquoi pas plus simplement:

'****
Option Explicit


Private Sub UserForm_Initialize()

Dim col As String
Dim i As Integer, derlg
Dim c As Range
Dim List_temp As New Collection

col = "b" 'si le but est de faire varier ici

On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each c In Range(col & "2:" & col & derlg)
List_temp.Add c, CStr(c)
Next c
On Error GoTo 0

'insertion données uniques dans la LISTbox
For i = 1 To List_temp.Count
List_transaction.AddItem List_temp(i)
Next i


End Sub
'****

'lSteph

"Jacques" a écrit dans le message de news:
4334f3b9$0$17241$
Bonjour,

J'ai écris cette fonction pour créer une liste déroulante en filtrant
les doublons mais j'ai une erreur du type :
"Nombre d'arguments incorretc ou affection de propriété incorrecte"
Je n'arrive pas à trouer de ou ça vient.
Pouvez-vous m'aider ?
Voila mon code

Option Explicit


Private Sub UserForm_Initialize()
' Construction de la liste Transaction
List_transaction = Construction_list("b")

' On initalise la liste avec le premier nom
' List_transaction.Value = List_transaction(1)
End Sub

Function Construction_list(col As String)

Dim i As Integer, derlg
Dim Cell As Range
Dim List_temp As New Collection
Dim List_ret As New Collection

On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each Cell In Range(col & "2:" & col & derlg)
List_temp.Add Cell, CStr(Cell)
Next Cell
On Error GoTo 0

'insertion données uniques dans le Combobox
For i = 1 To List_temp.Count
If (List_temp(i) <> "") Then List_ret.Add List_temp(i)
Next i

Construction_list = List_ret
End Function


Merci d'avance
Jacqques























Avatar
LSteph
Bonjour Jacques,
vOui, et aussi ce que je n'avais pas vu de suite
pourtant c'est un classique:
vider la collection avant de la recharger, c'est pourquoi j'ai rajouté
le petit Do While loop ...

Bonne journée et au plaisir.

lSteph
"Jacques" a écrit dans le message de news:
43365172$0$1723$
OK c'était donc ma déclaration qui n'étatit pas bonne.
Ca marche super, merci

Jacques

"LSteph" a écrit dans le message de news:
%
Re,Re, juste un oubli:

'****
Option Explicit
Dim col As String
Dim List_temp As New Collection

Private Sub UserForm_Initialize()
Call rempliste(ComboBox1, "b")
Call rempliste(ComboBox2, "c")
End Sub
Sub rempliste(malist As ComboBox, col As String)


Dim i As Integer, derlg
Dim c As Range
Do While List_temp.Count > 0
List_temp.Remove 1
Loop
On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each c In Range(col & "2:" & col & derlg)
List_temp.Add c, CStr(c)
Next c
On Error GoTo 0

'insertion données uniques dans la LISTbox
For i = 1 To List_temp.Count
malist.AddItem List_temp(i)
Next i


End Sub
'****
'lSteph

"Jacques" a écrit dans le message de news:
433575d2$0$996$
Bonjour,

J'avais commencer par ça mais lorsque je dois ajouter les entrée et que
j'écris :

sub remplist(laliste,col)
laliste.additem "toto"
J'ai une erreur, il n'aime pas la liste, bien sur je l'appelle avec Call
remplist("maliste","3")

Jacques

"LSteph" a écrit dans le message de news:

Re,
comme tu veux dans ce cas j'utiliserais plutôt une sub paramétrée
qu'une fonction
sub remplist(laliste,col)
...

'lSteph

"Jacques" a écrit dans le message de news:
43351fce$0$1014$
Bonjour,

Tout simplement parce que j'ai plusieurs liste à créer et que mon code
sera beaucoup plus lisible en utilisant une fonction qui pourra être
réutilisé pour la création de toute mes Combobox.

Jacques

"LSteph" a écrit dans le message de news:

Bonjour,
pourquoi pas plus simplement:

'****
Option Explicit


Private Sub UserForm_Initialize()

Dim col As String
Dim i As Integer, derlg
Dim c As Range
Dim List_temp As New Collection

col = "b" 'si le but est de faire varier ici

On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each c In Range(col & "2:" & col & derlg)
List_temp.Add c, CStr(c)
Next c
On Error GoTo 0

'insertion données uniques dans la LISTbox
For i = 1 To List_temp.Count
List_transaction.AddItem List_temp(i)
Next i


End Sub
'****

'lSteph

"Jacques" a écrit dans le message de news:
4334f3b9$0$17241$
Bonjour,

J'ai écris cette fonction pour créer une liste déroulante en
filtrant les doublons mais j'ai une erreur du type :
"Nombre d'arguments incorretc ou affection de propriété incorrecte"
Je n'arrive pas à trouer de ou ça vient.
Pouvez-vous m'aider ?
Voila mon code

Option Explicit


Private Sub UserForm_Initialize()
' Construction de la liste Transaction
List_transaction = Construction_list("b")

' On initalise la liste avec le premier nom
' List_transaction.Value = List_transaction(1)
End Sub

Function Construction_list(col As String)

Dim i As Integer, derlg
Dim Cell As Range
Dim List_temp As New Collection
Dim List_ret As New Collection

On Error Resume Next
'filtre les doubons pas collection
derlg = Range(col & "65536").End(3).Row
For Each Cell In Range(col & "2:" & col & derlg)
List_temp.Add Cell, CStr(Cell)
Next Cell
On Error GoTo 0

'insertion données uniques dans le Combobox
For i = 1 To List_temp.Count
If (List_temp(i) <> "") Then List_ret.Add List_temp(i)
Next i

Construction_list = List_ret
End Function


Merci d'avance
Jacqques