Salut le forum

J'ai un usf contenant 3 codes qui me permet d'ajouter ou de modifier les données d'un user:
- le premier me permet d'ajouter un nouvel utilisateur s'il s'agit d'un nouvel user
- le deuxième me permet d'afficher les données d'un utilisateur en vu de leur modification
- le troisième me permet de valider la modification
Je constate que lorsque je renseigne un code qui n'existe pas dans la plage des codes utilisateurs, il y'a une erreur qui se produit.
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
Private Sub bt_add_Click()
Dim P As Object 'déclare la variable P (onglet Parametre)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim PL As Range 'déclare la variable PL (PLage)
Dim I As Integer 'déclare la variable I (Incrément)
 
Set P = Sheets("PARAMETRE") 'définit l'onglet P
DL = P.Cells(Application.Rows.Count, 2).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 2 (=B) de l'onglet P
Set PL = P.Range("B2:B" & DL) 'définit la plage PL
'verification des identifiants
If Application.WorksheetFunction.CountIf(PL, TextBox1.Value) > 0 Then
    MsgBox ("Ce user est déjà enregistré")
    Exit Sub
End If
For I = 1 To 6 'boucle sur les 6 textboxes
    'envoie la valeur de la textbox dans la cellule ligne DL+1, colonne I+1 de l'onglet P
    P.Cells(DL + 1, I + 1).Value = Me.Controls("TextBox" & I).Value
    Me.Controls("TextBox" & I).Value = ""
Next I
End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Private Sub TextBox1_AfterUpdate()
   laligne = Application.Match(Me.TextBox1.Value, Sheets("PARAMETRE").[B1:B200], 0)
    Me.TextBox2 = Sheets("PARAMETRE").Cells(laligne, 3)
    Me.TextBox3 = Sheets("PARAMETRE").Cells(laligne, 4)
    Me.TextBox4 = Sheets("PARAMETRE").Cells(laligne, 5)
    Me.TextBox5 = Sheets("PARAMETRE").Cells(laligne, 6)
    Me.TextBox6 = Sheets("PARAMETRE").Cells(laligne, 7)
End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Private Sub bt_modif_Click()
    Sheets("PARAMETRE").Cells(laligne, 2) = Me.TextBox1
    Sheets("PARAMETRE").Cells(laligne, 3) = Me.TextBox2
    Sheets("PARAMETRE").Cells(laligne, 4) = Me.TextBox3
    Sheets("PARAMETRE").Cells(laligne, 5) = Me.TextBox4
    Sheets("PARAMETRE").Cells(laligne, 6) = Me.TextBox5
    Sheets("PARAMETRE").Cells(laligne, 7) = Me.TextBox6
End Sub