Bonjour à tous,
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.
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
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![]()
Partager