Bonjour, je demande l'aide bienveillante d'un spécialiste pour m'aider à résoudre ce petit problème qui m'est posé en précisant ci- dessous le contexte d'utilisation avec ses bons et mauvais résultats et l'extrait de la macro concernée. En vous remerciant d'avance de ce qu'il faut modifier.
Fonctionnement de la macro :
1* Etat initial : Itcl=12 (configuration de max.itérations par une autre macro ou manuellement)
2* Texte placé en B8 : max.itérations à 200 par sub ItEcl ; c’est conforme
Durant l’incrémentation des itérations Itcl=200 …
3* …Texte retiré en B8 : max.itérations toujours à 200 ; Itcl toujours à 200 (C’est non conforme) alors que sub It0cl devrait configurer max.itérations à 10
Le seul moyen d’obtenir ce résultat (max.itérations à 10) est d’exécuter la macro par le triangle vert alors que la macro devrait tourner en boucle y compris durant l’incrémentation des itérations.
Comment obtenir cette reconfiguration de max.itérations à 10 ?
Extrait de la Macro concernée :
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 Private Sub Worksheet_Calculate() Dim Itcl As String Itcl = Application.MaxIterations ‘Nbre maxi d’itérations actuelles configurées If Range("B8").Value = "" And Itcl > 50 Then ‘Texte retiré dans Cellule B8 et maxi itérations configuré >50 It0cl ‘Configurer le maxi d’itérations à 10 (valeur 10 en BE1) End If If Range("B8").Value <> "" Then ‘Texte écrit dans Cellule B8 ItEcl ‘Configurer le maxi d’itérations à 200 (valeur 200 en BF1) End If End Sub -------------------------------------------------------------------------------- Sub ItEcl() With Application Application.EnableEvents = False .Iteration = True .MaxIterations = Range("BF1").Value 'maxi d’itérations à 200 (valeur 200 en BF1) Application.EnableEvents = True End With End Sub --------------------------------------------------------------------------------- Sub It0cl() With Application Application.EnableEvents = False .Iteration = True .MaxIterations = Range("BE1").Value 'maxi d’itérations à 10 (valeur 10 en BE1) Application.EnableEvents = True End With End Sub
Partager