Modification de temporisation dans macro

Bonjour,

J'ai un programme qui utilise 90 macros différentes avec la même tempo dans chacune d'elle.

Est il possible de modifier le temps en une seule fois !!!

Pour l'instant je suis obligé d'ouvrir les 90 macros une à une pour modifier le temps de ma tempo ce qui est très long.

Je vous met la macro 1 pour exemple

Macro1 Macro

'' ActiveSheet.Unprotect

Range("A1:J9").Select

ActiveWindow.SmallScroll Down:=-30

Selection.Locked = False

Range("A1").Select

With Selection.Interior

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.Color = 255

.TintAndShade = 0

.PatternTintAndShade = 0

End With

Range("A1").Select

ActiveCell.FormulaR1C1 = "1"

Dim s, p As Variant

'ton code1

p = 3: s = Timer: Do While Timer < s + p: DoEvents: Loop

'ton code2

With Selection.Interior

.Pattern = xlNone

.TintAndShade = 0

.PatternTintAndShade = 0

Range("A1:J9").Select

ActiveWindow.SmallScroll Down:=-18

Selection.Locked = True

Range("a1").Select

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

End With

End Sub

Merci pour votre aide

Bonjour,

En tête du module où se trouve tes macros, tu déclares une constante p (il te faut supprimer toutes les déclarations de variables "p") de cette façon :

Const p As Single = 3

et ta ligne de code au lieu d'être :

p = 3: s = Timer: Do While Timer < s + p: DoEvents: Loop

elle devient :

s = Timer: Do While Timer < s + p: DoEvents: Loop

pour toutes tes macros ensuite, il te suffit de modifier la valeur de ta constante pour modifier la durée de tes temporisations !

Bonjour Theze,

Merci pour ta réponse

La macro fonctionne mais ne prend pas en compte la tempo

Je n'ai jamais fait de déclaration de constante, je te met la modif que j'ai faite, j'espère qu'elle est au bon endroit

Const p As Single = 3

Sub Macro1()

'

' Macro1 Macro

'

' ActiveSheet.Unprotect

Range("A1:J9").Select

ActiveWindow.SmallScroll Down:=-30

Selection.Locked = False

Range("A1").Select

With Selection.Interior

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.Color = 255

.TintAndShade = 0

.PatternTintAndShade = 0

End With

Range("A1").Select

ActiveCell.FormulaR1C1 = "1"

Dim s, p As Variant

'ton code1

s = Timer: Do While Timer < s + p: DoEvents: Loop

'ton code2

With Selection.Interior

.Pattern = xlNone

.TintAndShade = 0

.PatternTintAndShade = 0

Range("A1:J9").Select

ActiveWindow.SmallScroll Down:=-18

Selection.Locked = True

Range("a1").Select

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

End With

End Sub

Bonjour,

As-tu vus que dans ta macro sur cette ligne :

Dim s, p As Variant

tu as encore une variable p déclarée en Variant et donc, dans la macro c'est elle qui est prise en compte et non la constante !

Il te faut supprimer "p As Variant" comme dit dans mon précédant message et dans toutes les macros

Bonjour,

Merci pour tes explications Theze car ce n'est pas facile pour un néophyte de comprendre.

J'ai fait un copier coller de ce que tu m'a envoyé et cela fonctionne à merveille

Gege 73

Rechercher des sujets similaires à "modification temporisation macro"