Re : erreur 457
bonsoir Fred5200 et merci pour ton intérêt à mon problême.
Voici une partie de mon vba incriminé
Sub Ajout_FournisseurDA()
Dim Dernier
Dim AllCells As Range, Cell As Range
Dim NoDupes As New Collection
Dim i As Integer, j As Integer, D As Integer
Dim Swap1, Swap2, Item
'1 AJOUT FOURNISSEUR DANS LISTE Fournisseur FRM_DA
Worksheets("DA-Cde").Select
Dernier = Range("A5").End(xlDown).Offset(0, 15).Address
' Les éléments sont dans P2😀ernier
Set AllCells = Range("P2:" & Dernier)
' L'instruction suivante ignore l'erreur due à la tentative
' d'ajout d'une clé dupliquée à la collection.
' Le duplicata n'est pas ajouté - c'est exactement ce que l'on souhaite !
On Error Resume Next
For Each Cell In AllCells
NoDupes.Add Cell.Value, CStr(Cell.Value)
' Note : le 2e argument (key) pour la méthode Add doit être une chaîne
Next Cell
' Reprise gestion normal des erreurs
On Error GoTo 0
' Trie la collection (optionnel)
For i = 1 To NoDupes.Count - 1
For j = i + 1 To NoDupes.Count
If NoDupes(i) > NoDupes(j) Then
Swap1 = NoDupes(i)
Swap2 = NoDupes(j)
NoDupes.Add Swap1, before:=j
NoDupes.Add Swap2, before:=i
NoDupes.Remove i + 1
NoDupes.Remove j + 1
End If
Next j
Next i
' Ajoute les éléments stockés non dupliqués à une zone de liste
For Each Item In NoDupes
FRM_Cde.CBX_Fournisseur.AddItem Item
Next Item
For D = 1 To NoDupes.Count
NoDupes.Remove 1
Next D
End Sub