--- Soumis par Dev Ashish---
Interrompre en cours de boucle.
(Q) Peut-on interrompre un code, alors qu'il boucle, en utilisant le clavier?
(A) On peut utiliser la fonction API GetAsyncKeyState à cet effet. Voici un exemple d'une boucle qui ajoute n enregistrements à l'intérieur d'une boucle, mais où on peut l'interrompre en appuyant sur la touche d'échapement (Escape).
'************ Code Start *********** Private Declare Function apiGetAsyncKeyState Lib "user32" _ Alias "GetAsyncKeyState" _ (ByVal vKey As Long) _ As Integer Private Const VK_ESCAPE = &H1B Function fBreakInCode() Dim boolEsc As Boolean Dim db As Database Dim rs As Recordset Dim i As Integer Set db = CurrentDb Set rs = db.OpenRecordset("Table Quelconque", dbOpenDynaset) For i = 1 To 20000 If apiGetAsyncKeyState(VK_ESCAPE) Then If MsgBox("Vous avez appuyé Escape! Désirez-vous arrêter le code?", _ vbYesNo, "Confirmation requise") = vbYes Then Exit For End If End If With rs .AddNew !Field1 = i !Field2 = i * 2 !Field3 = i * 3 .Update i = i + 1 End With Next rs.Close Set rs = Nothing MsgBox "Fini. On a ajouté " & i & " enregistrements!" End Function '*************** Code End ************