Bonjour,
Un USF ne fonctionne pas comme ça. Les variables sont réinitialisées à la fermeture de ce dernier, et encore plus du classeur. On ne peut les conserver dans le code VBA comme ça car la procédure est terminée.
Donc en passant par une colonne supplémentaire dans votre feuille correspondance afin de storer ces valeurs :
With Worksheets("correspondance")
Set L = .Columns(14).Find(Me.cbobalancelle)
If L.Offset(0, 1) + 1 > 22 Then L.Offset(0, 1) = 0
L.Offset(0, 1) = L.Offset(0, 1) + 1
Me.txtpassagebal = L.Offset(0, 1)
End With
Cf exemple joint.
Cdlt,