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 : 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
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