Re,
je te proposes 3 étapes (non testé) :
1. dans le module [Module 1], en-dessous de Option Explicit, rajoute la déclaration de variable suivante :
Public LI As linteger'déclare la variable LI (LIgne)
2. Le code modifié du bouton Se connecter de l'UserForm FrmBac :
Private Sub BtnSec_Click()
'CODE D'ACCES PROGRAMME
Dim Ws As Worksheet
Dim Lr As Long
Dim User As String
Dim Mdp As String
Dim connecté As Boolean
Dim Niv As String
Application.ScreenUpdating = False
Set Ws = Sheets("Base")
Lr = Ws.Range("A" & Rows.Count).End(xlUp).Row
connecté = False
If Me.TxbUti = "" Or Me.TxbMdp = "" Then
MsgBox "Veuillez remplir tous les champs"
Exit Sub
End If
User = TxbUti
Mdp = TxbMdp
Dim C As Variant
For Each C In Ws.Range("A2:A" & Lr)
If C = User And C.Offset(, 8) = Mdp Then
'****************************************
LI = C.Row '<==== ici
'****************************************
connecté = True
Exit For
End If
Next C
Dim i As Long
If connecté = False Then
MsgBox "Vos identifiants sont incorrects"
Me.TxbUti = ""
Me.TxbMdp = ""
Exit Sub
Else
For i = 2 To 2
Niv = Ws.Cells(i, 10)
If Sheets("Selection").[C2].Value = "0" Then
Unload Me
VBAProject.FrmD1.Show
Else
If Sheets("Selection").[C2].Value = 2 Then
Unload Me
VBAProject.FrmD2.Show
Else
Unload Me
VBAProject.FrmD0.Show
End If
End If
Next i
End If
End Sub
3. Ajouter le code ci-dessous dans l'UserForm FrmD1 :
Private Sub ComboBox115_Change()
Worksheets("Base").Cells(LI, "N").Value = Me.ComboBox115.Value
End Sub
Il faudra le même code pour les 2 autres comboboxes en adaptant la colonne...