Re
Dans votre USF NouvelleEnt, mettez ces deux codes
1. Ouverture USF
Private Sub UserForm_Initialize()
On Error Resume Next
With Sheets("Lots").ListObjects(1)
If .ListRows.Count > 1 Then
Lot_Ent.List = .DataBodyRange.Value
Else: Lot_Ent.AddItem .DataBodyRange(, 1).Value
End If
End With
End Sub
2. Code sur choix combo Lot_Ent
Private Sub Lot_Ent_Change()
Dim lig As Integer, ligbox As Integer
Dim box As String
With Sheets("Locataire").ListObjects(1)
lig = WorksheetFunction.Match(Lot_Ent.Value, .ListColumns(3).DataBodyRange, 0)
Nom_Ent = .DataBodyRange(lig, 1).Value
Pren_Ent = .DataBodyRange(lig, 2).Value
box = .DataBodyRange(lig, 4).Value
lig = 0
End With
With Sheets("Lots").ListObjects(1)
lig = WorksheetFunction.Match(Lot_Ent.Value, .ListColumns(1).DataBodyRange, 0)
Loyer_Ent = .DataBodyRange(lig, 5).Value
Charges_Ent = .DataBodyRange(lig, 6).Value
lig = 0
End With
With Sheets("Box").ListObjects(1)
ligbox = WorksheetFunction.Match(box, .ListColumns(1).DataBodyRange, 0)
Prix_Box_Ent = .DataBodyRange(ligbox, 3).Value
End With
End Sub
Faites un test avant d'aller plus loin
Attention que vous devez supprimer les ROWSSOURCE que vous avez placé pour vous éviter une erreur à l'ouverture des USF
NB : pour l'instant comme vos données ne sont pas rassemblées dans une feuille (plus facile en cas d'erreur), cela suppose que les BOX et Num lot sont bien renseignés partout.