Bonjour à tous,
Grace à Arkam46 et son article, j'ai pu creer un formulaire d'attente avec une barre de progression (merci encore c'est super)
Maintenant je voudrais l'affecter à un bouton de controle qui m'affiche les doublons de ma table dans une liste déroulante.
voici le code d'arkam46
Voici mon code de traitement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 Private Sub Commande9_Click() Dim str As String Dim lCptIteration1 As Long Dim lCptIteration2 As Long Dim lString As String Dim lPercent As Single Const lNbIterations As Long = 10000 On Error GoTo Gestion_Erreurs ' Ouverture du formulaire d'attente DoCmd.OpenForm "FormAttente" Forms("FormAttente").lblInfo.Caption = "Veuillez patienter durant le traitement ... " Forms("FormAttente").lblProgressBar.Width = 0 ' Nécessaire pour redonner la main à windows le temps de traiter les messages dans la pile DoEvents ' Boucle de traitement For lCptIteration1 = 1 To lNbIterations For lCptIteration2 = 1 To 1000 lString = Chr((lCptIteration1 + lCptIteration2) Mod 256) Next ' Toutes les 500 itérations If lCptIteration1 Mod 500 = 0 Then ' Calcul du pourcentage d'avancement lPercent = lCptIteration1 / lNbIterations ' Met à jour l'étiquette d'avancement Forms("FormAttente").lblProgress.Caption = "Traitement en cours ... " & Format(lPercent, "00%") ' Met à jour la barre de progression Forms("FormAttente").lblProgressBar.Width = Forms("FormAttente").lblProgressBack.Width * lPercent ' Repeint le formulaire Forms("FormAttente").Repaint End If ' Evite que l'application ne soit figée DoEvents Next ' Fermeture du formulaire d'attente DoCmd.Close acForm, "FormAttente" Exit Sub Gestion_Erreurs: MsgBox "Erreur lors du traitement, n° " & err.Number & ", " & err.Description, vbOKOnly End Sub
Maintenant je ne sais pas où mettre mon code de traitement pourqu'il exécute pendant l'avancement de la progressbar.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5str = "SELECT DISTINCT * FROM T_essai T1 WHERE EXISTS (SELECT * FROM Trame T2 WHERE T1.auto = T2.auto )ORDER BY T1.NOM" Me.Liste3.RowSource = str Me.Liste3.Requery
Merci d'avance pour votre aide.
Mamanhou
Partager