Salut,
Ton problème a mon avis se decompose en trois:
Pas de peuplement de la listbox
Routine permettant de peupler la listbox.
Sub IniLbx()
With Sheets("Evolution Salaire")
LISTE.List = .Range("A2:B" & .Range("B65000").End(xlUp).Row).Value
End With
End Sub
Il te manque la fonction suivante qui va se lancer a l'ouverture de la list box et lancer le peuplement.
Private Sub UserForm_Initialize()
IniLbx
End Sub
Ici la listbox va bien s'initialiser.
Le deuxième problème se pose sur la ligne de code (non modifié)):
LISTE.List = .Range("A2:B" & .Range("A65000").End(xlUp).Row).Value
On va ajouter dans la istbox toutes les valeurs se trouvant dans le range A2-B1, il n'y a pas de matricule renseigné donc comme le code va te retourner la dernière ligne utilisée dans la colonne A = 1 (ou se trouve le titre 'Matricule'. Donc erreur.)
Rappel : .Range("A65000").End(xlUp).Row consite a se placer sur la cellule A65000 et de faire controle Fleche Haut afin d'avoir la dernière ligne saisie.
J'ai remplacé la ligne par :
LISTE.List = .Range("A2:B" & .Range("B65000").End(xlUp).Row).Value
On est sur que la personne a au moins un nom, donc dans ce cas on aura la list box peuplée avec le range A2-B34.
Troisième problème
Tu mets deux colonnes dans une listbox de 1 colonne, seul le matricule sera affiché (et comme il est vide....)
Pour ce faire soit tu modifies directement la propriété dans l'editeur VBA
soit tu rajoutes dans l'initialisation de la listbox :
Private Sub UserForm_Initialize()
LISTE.ColumnCount = 2
IniLbx
End Sub
Et tu auras dans la liste le matricule ET le nom.
Pour le reste, j'ai pas tout testé...
Dis moi si cela t'as aidé ....
Damien