Saisie d'une VLookup dans une userform_VBA
Bonjour à Tous,
Je débute dans VBA, et votre forum m'a beaucoup appris.
J'ai écrit un code pour rechercher un nom suivant un identifiant.
Je dois rechercher un identifiant, que je saisi dans ma TextBox, dans la colonne F de la ligne 39 à "Lig" je ne connais pas la fin, liste non fixe.
Une fois que j'ai trouver l'identifiant, je dois recupérer le nom de la personne qui est sur la même ligne mais en colonne H et la recopier dans ma ListBox.
Mais ça bloque toujours à "Nom = WorksheetFunction.VLookup(Id, Range(Cells(39, 6), Cells(Lig, 8)), 8, False)" et je ne comprend pas pourquoi.
Pouvez-vous m'aider.
J'espère que c'est assez clair comme explication
Code:
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 30 31 32 33 34 35
| Private Sub TextBoxID_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'
' Ecrire le Nom equivalent à l'identifiant
'
Dim Lig As Integer
Dim Id As Variant
Dim Nom As String
'
' Selectionner la feuille
Sheets("Listes").Select
' Activation des valeurs systeme
On Error GoTo ErreurSaisi
' Determination de la derniere ligne de la liste
Lig = 39
Do While Cells(Lig, 6).Value <> ""
Lig = Lig + 1
Loop
Lig = Lig - 1
' Récupérer l'ID
Id = TextBoxID.Value
' Convertir en majuscule
Id = UCase(Id)
' Réécrire le nom en majuscule
TextBoxID.Value = Id
' Rechercher le nom équivalent
Nom = WorksheetFunction.VLookup(Id, Range(Cells(39, 6), Cells(Lig, 8)), 8, False)
' Ecrire le nom
ListBoxRU.Value = Nom
Exit Sub
ErreurSaisi:
MsgBox ("Erreur dans la saisie de l'Identifiant" & vbLf & _
"L'Identifiant " & Francais & " n'exite pas ou bien votre liste n'est pas à jour" & vbLf & _
"Vérifier l'orthographe et la resasir." & vbLf & _
"Contacter DPTMEnvironnement@mpsa.com si le soucis persiste.")
End Sub |