Est ce possible de mettre un timing entre 2 instructions vba

Résolu
mcstayhi99 Messages postés 34 Statut Membre -  
mcstayhi99 Messages postés 34 Statut Membre -
Bonjour,

Voici ma macro :

Sub Macro1()
'
' Macro1 Macro
'

'
ActiveWorkbook.Unprotect
ActiveSheet.Unprotect

ActiveSheet.PivotTables("Tableau croisé dynamique1").RefreshTable

ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
True, AllowUsingPivotTables:=True
ActiveWorkbook.Protect Structure:=True, Windows:=False
End Sub

est ce possible d'executer la protection apres un timing, par exemple 10 seconde, le temps que le tcd s'actualise.

Merci beaucoup pour vos réponse

3 réponses

  1. sipherion Messages postés 1836 Date d'inscription   Statut Membre Dernière intervention   287
     
    http://www.laissemoichercherca.com/?q=delay%20vb

    Sleep 2500

    Où 2500 = 2,5 sec
    0
    1. mcstayhi99 Messages postés 34 Statut Membre
       
      J'ai essaye avec sleep sa me donne un probleme de compilation meme si je met la declaration de sleep :

      Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)

      Merci
      0
  2. sipherion Messages postés 1836 Date d'inscription   Statut Membre Dernière intervention   287
     
    Chez moi ça marche.

    Il faut bien que tu mettes sleep et sa déclaration dans le même module.


    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

    Sub test()

    MsgBox("Instant T0")

    Sleep 2000

    MsgBox("Instant T0 + 2s après avoir cliqué sur OK")

    End Sub


    0
    1. mcstayhi99 Messages postés 34 Statut Membre
       
      Merci sa fonctionne mais il faut mettre
      Sleep (2000)

      Merci beaucoup
      0
    2. sipherion Messages postés 1836 Date d'inscription   Statut Membre Dernière intervention   287
       
      Ha OK ^^ Heu lol chez moi ca marche sans mettre entre () :)
      Mais de rien, a bientôt =)
      0
    3. mcstayhi99 Messages postés 34 Statut Membre
       
      il y a aussi cette possibilité :

      Application.Wait (Now + TimeValue("0:00:10"))
      0
    4. midouexcel Messages postés 35 Statut Membre 4
       
      Bonsoir,
      Je voulais savoir en quoi ce macros nous aide?
      surtout qu'on peut actualiser un TCD depuis le TCD en une seule action
      0
    5. mcstayhi99 Messages postés 34 Statut Membre
       
      bonjour,

      oui on peut le faire mais pas quand le TCD est protégé.
      0
  3. sipherion Messages postés 1836 Date d'inscription   Statut Membre Dernière intervention   287
     
    Rajoutes un Call devant chacun de tes appels de macro dans appel().

    VBA signale l'erreur sur quelle ligne de quelle macro quand tu cliques sur "débogage" ?
    0
    1. mcstayhi99 Messages postés 34 Statut Membre
       
      c bon j'ai trouvé d'ou provenait le probleme, je devais réactiver la field list avant d'actualiser.

      et pour le call c'est pas obligatoire de le mettre, sa fonctionne sans.

      merci beaucoup pour votre aide.
      0