Bonjour à tous,

Je suis actuellement en train de programmer une petite base de données permettant de consulter différents fichiers ou bien d'ajouter un fichier à la liste.

Concernant la partie d'ajout de fichiers j'ai besoin que l'utilisateur précise la "provenance" de son fichier. Je veux qu'il choisisse une valeur dans la CBoxCodeCommercial1 (en dessous du Code commercial) et dès qu'il clique sur une valeur de la liste il faut que les 3 autres combobox prennent des valeurs.
Nom : Urf.JPG
Affichages : 164
Taille : 75,9 Ko

Les valeurs de la CB1 sont remplie sur un tableau qui se situe en page(2) colonne B, CB2 pareil mais colonne C, CB3 colonne D et CB4 colE. A chaque fois sur la même ligne.

J'ai programmer la prise de valeurs pour CB1 mais àprès cela je suis totalement bloqué !!

Voici le code pour ma CB1:
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
22
23
24
25
26
27
28
29
Private Sub Userform_Initialize()
Dim sd As Object  'déclare la variable sd (Sans Doublons)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim tbl As Variant 'déclare la variable tbl (TaBLeau)
Dim i As Integer 'déclare la variable i (incrément)
Dim j As Integer 'déclare la variable j (incrément)
Dim temp As Variant 'déclare la variable temp (valeur TEMPoraire)
 
Set sd = CreateObject("Scripting.Dictionary") 'définit la variable sd
With Sheets("Bilan-Lien") 'prend en compte l'onglet "Base_de_donnees"
    Set pl = .Range("B3:B" & .Cells(Application.Rows.Count, 2).End(xlUp).Row) 'définit la plage pl
End With 'fin de la prise en compte de l'onglet "Base_de_donnees"
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
    sd(cel.Value) = "" 'alimente la liste sans doublons
Next cel 'prochaine cellule de la boucle
tbl = sd.keys 'définit le tableau des valeurs sans doublons
'tri alphabétique
For i = 0 To UBound(tbl) 'boucle 1 de 0 au nombre de valeur du tableau
    For j = 0 To UBound(tbl) 'boucle 2 de 0 au nombre de valeur du tableau
        If tbl(i) < tbl(j) Then 'condition : si la valeur de la boucle 1 est invérieure à la valeur de la boucle 2
            temp = tbl(i) 'définit la valeur temporaire temp
            tbl(i) = tbl(j) 'la valeur de la boucle un devient la valeur de la boucle 2
            tbl(j) = temp 'la valeur de la boucle deux devient la valeur temporaire temp
        End If 'fin de la condition
    Next j 'prochaine valeur de la boucle 2
Next i 'prochaine valeur de la boucle 1
Me.CBoxCodeCommercial.List = tbl 'alimente la ComboBox1 sans doublons et trié par ordre alphabétique
End Sub
Cordialement,

Edit: Après reflexion peut -être que je peux changer les 3 combo box en un autre outil ? textbox ?