Bonjour,
Sur le code ci dessous, il faut que mon sous formulaire SubFormClient se déplace à l'enregistrement correspondant à la zone de texte TBNum.

J'utilise un while mais lorsque Me.SubFormClient.Form.NumClient est égal à TBNum, la boucle ne s'arrête pas.
Pourtant lorsque j'écris un chiffre à la place de TBNum la boucle réussi (Par exemple quand j'écris While (Me.SubFormClient.Form.NumClient <> 8)).

Pourtant j'ai vérifié, TBNum renvois bien une valeur;
Pour m'en assurer dans la boucle j'ai mis un MsgBox(TBNum & " and " & Me.SubFormClient.Form.NumClient), j'ai les message "32 and 1" "32 and 2" "32 and 3"... mais lorsque le message "32 and 32" apparait, la boucle ne s'arrête pas, et s'en suis "32 and 33"... jusqu'à que je sorte de l'enregistrement et que j'obtienne un message d'erreur

Je ne sais vraiment pas d'où peut venir l'erreur

J'accepte tout conseil , merci bien.

Le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
Private Sub ZLPrenom_Click()
TBPrenom = ZLPrenom.Column(0, ZLPrenom.ListIndex)
TBNum = ZLPrenom.Column(1, ZLPrenom.ListIndex)
Me.SubFormClient.Form.Recordset.MoveFirst
If TBNum <> 1 Then
While (Me.SubFormClient.Form.NumClient <> TBNum)
Me.SubFormClient.Form.Recordset.MoveNext
MsgBox (TBNum & " and " & Me.SubFormClient.Form.NumClient)
Wend
End If
End Sub