Est ce possible de mettre un timing entre 2 instructions vba

Résolu
mcstayhi99 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -  
mcstayhi99 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

3 réponses

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

Sleep 2500

Où 2500 = 2,5 sec
0
mcstayhi99 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
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
sipherion Messages postés 1809 Date d'inscription   Statut Membre Dernière intervention   286
 
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
mcstayhi99 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
Merci sa fonctionne mais il faut mettre
Sleep (2000)

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

Application.Wait (Now + TimeValue("0:00:10"))
0
midouexcel Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   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
mcstayhi99 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour,

oui on peut le faire mais pas quand le TCD est protégé.
0
sipherion Messages postés 1809 Date d'inscription   Statut Membre Dernière intervention   286
 
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
mcstayhi99 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
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