Bonjour à tous,

Ayant eu énormement de mal à recouper toutes les infos pour parvenir à mes fins, je propose ce poste aux débutants comme moi pour décrire la procédure à suivre:

Données:
  • 1 formulaire
  • 1 requete enregistrée (en l'occurence R_Raz_Temp)
  • 1 bouton qui lance la requete par le code (et non macro!)(ici B_Actualiser)
  • 1 table (ici Temp_Postes_Caff)

Il s'agit dans mon cas d'une requete de suppression servant à razer la table sur laquelle je travail et voici le code sur l'événement Click du bouton:

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
Private Sub B_Actualiser_Click()
    Dim i As Integer
 
    'Desactivation des alertes
    DoCmd.SetWarnings False
 
    '#####################################
    'Raz de la table temporaire
    '#####################################
 
    'Définition des attributs de ma progressbar
    ProgressBar.Visible = True 'On fait apparaitre la progressbar
    ProgressBar.Min = 0 'Valeur mini de la progressbar
    ProgressBar.Max = DCount("*", "Temp_Postes_Caff") 'On compte les enregistrements de la table à effacer
 
    i = 1 'Initialisation de ma boucle de traitement
    TxtTraitement = "RAZ table temporaire" 'Mise à jour de la description de l'action en cours
    'Boucle de traitement
    While i <= ProgressBar.Max
        DoCmd.OpenQuery ("R_Raz_Temp") 'Traitement de la requete enregistrée
        DoEvents 'Liberation du système pour d'autres executions eventuelles
        ProgressBar.Value = i 'Incrementation de la valeur de la progressbar
        i = i + 1 'Incrémentation de la boucle de traitement
    Wend
    'Initialisation de l'affichage en fin de traitement
    ProgressBar.Value = 0
    ProgressBar.Visible = False
    TxtTraitement = ""
N'étant bien evidement pas un expert en VBA je suis absolument ouvert à toute critique ou correction éventuelle.

Amicalement