Alimenter une combobox avec 2 colonnes non contigues

Galaktus

XLDnaute Nouveau
Bonsoir le forum :)

Je travaille sur un fichier ou se trouve un userform pour vérifier l'usure actuelle d'un type d'outillage.

Mon userform comporte de gauche à droite, 2 userforms et un textbox, la 2 combobox est actuellement remplie avec la 1ère colonne d'un tableau structuré (nommée "Référence"), ce que je souhaiterais c'est que la combobox affiche dans l'ordre la colonne "Nr" et la colonne "Référence".

Le point sensible, et j'ignore si c'est même faisable, c'est quand sélectionnant dans cette liste une ligne contenant du coup 2 valeurs "Nr" et "Référence" j'aimerais que ma combobox n'affiche que la valeur "Référence". (Car la valeur "Référence" sélectionner sera une variable pour alimenter la textbox)

Je met à tout hasard le code qui alimente la deuxième combobox et je poste aussi un fichier test qui se compose comme suit :

-Onglet "Gestion" ou se trouve le bouton "Démarrer" pour lancer l'userform

-Onglet "Suivi diamant" et "Synthèse outillage" qui contiennent respectivement l'historique et le tcd de l'historique

-Onglet "Données fonctionnement fichier" qui contient les 2 tableaux qui vont aliment la 2ème combobox

Le code :

Private Sub Combobox_selection_machine_Change()

'# Donnée attribuée à la variable [NumeroKapp]
NumeroKapp = Userform_usure_actuelle_diamant.Combobox_selection_machine.Value

'Exécution de la macro en cache
Application.ScreenUpdating = False

'Début de méthode {With} pour un ensemble de modifications sur l'objet "Userform_usure_actuelle_diamant"
With Userform_usure_actuelle_diamant

'/ Début de méthode {With} pour un ensemble de modifications sur l'objet ".Combobox_selection_reference"
With .Combobox_selection_reference

'- / / Réinitialiser
.Clear

'/ / Transfert des valeurs contenues dans la colonne "Référence" du tableau "Diamant_" & NumeroKapp" situé dans l'onglet "Données fonctionnement fichier"
.List = Application.Transpose(Sheets("Données fonctionnement fichier").Range("Diamant_" & NumeroKapp & "[Référence]"))

'/ Fin de méthode {With}
End With

'/ Début de méthode {With} pour un ensemble de modifications sur l'objet ".Label_usure_nombre_diamantage"
With .Label_usure_nombre_diamantage

'/ / Couleur de bordure en RGB(0, 0, 0)
.BorderColor = RGB(0, 0, 0)

'/ / Couleur de police en RGB(0, 0, 0)
.ForeColor = RGB(0, 0, 0)

'/ Vider
.Caption = ""

'/ Fin de méthode {With}
End With

'/ Cacher l'objet ".Label_indicateur_usure"
.Label_indicateur_usure.Visible = False

'/ Cacher l'objet ".Label_etat_usure"
.Label_etat_usure.Visible = False

'Fin de méthode {With}
End With

'Annulation de l'exécution macro en cache
Application.ScreenUpdating = True

End Sub​

Merci d'avance à toutes celles ou ceux qui se pencheront sur mon cas
 

Pièces jointes

  • Test.xlsm
    69.1 KB · Affichages: 21

Galaktus

XLDnaute Nouveau
Bonjour Lone-wolf :)

Merci pour ta réponse rapide, c'est exactement l'idée de se que je voulais, tu est très fort, étant débutant je ne comprend pas grand chose à ton code.

En fait la valeur sélectionnée dans la 1ère liste devient une variable avec laquel je vais chercher le tableau "Diamant_kapp1" ou "Diamant_kapp2", la j'ai une erreur je n'ai pas la liste complète en sélectionnant "Kapp1" et en sélectionnant "Kapp2" j'ai une liste avec la même valeur dont le chiffre et incrémenter de 1 à chaque fois

Bien bonne journée ensoleillée à toi :)
 

Discussions similaires

Réponses
47
Affichages
2 K

Statistiques des forums

Discussions
312 198
Messages
2 086 143
Membres
103 129
dernier inscrit
Atruc81500