Bonjour à tous,

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub recupNumCmdTtt()
Dim i As Integer
Dim j As Byte
Dim NomCol As String
 
Set wbkAnalyse = ThisWorkbook
Set shAnalyse = wbkAnalyse.Sheets("contrôle arrivage-final")
 
On Error GoTo errorValidation
'On efface au préalable les combobox pour ne pas avoir de doublons
With shAnalyse
    For j = 14 To 18
        NomCol = Left(.Cells(1, j).Address(0, 0), 1)
        '.OLEObjects("cb" & NomCol & "40").Object.Clear
'On parcourt la ligne 37 et quand une cellule contient un numéro de commande on l'ajoute dans la combobox...
        For i = cNumColonneDebutTableau To cNumColonneFinTableau
            If Cells(37, i).Value <> "" Then .OLEObjects("cb" & NomCol & "40").Object.AddItem .Cells(cNumLigneCmdTraitement, i)
        Next i
    Next j
End With
End Sub
Cette procédure me permet de parcourir ma ligne 37 et de récupérer les numéros qui y figurent afin de remplir mes combo box.
Cependant j'ai mis la ligne .Clear en commentaire. Parce que à chaque fois que j'utilise une nouvelle combo box cela me met ma précédente à vide.

Cependant, si je ne met pas cette ligne j'ai pleins de doublons dans mes combo box.

Connaissez vous un moyen pour optimiser cette procédure de façon à ce qu'elle m'ajoute les numéros mais sans doublons? Ou toute autre solution susceptible de m'aider s'ils vous plait