Voilà le programme test que j'ai écrit pour observer ce qui se passe
Private Sub Worksheet_Calculate()
*X:n = [Envoi!BX32]*rem: Valeur maxi de la boucle
For i = 1 To n
With Application rem: Cette partie en gras fonctionne très bien seulement en ré exécutant manuellement la macro
.Iteration = True
If [Envoi!BX28] = 1 Then .MaxIterations = [Envoi!BX26].Value
If [Envoi!BX29] = 1 Then .MaxIterations = [Envoi!BX26].Value
If [Envoi!BX30] = 1 Then .MaxIterations = [Envoi!BX26].Value
If [Envoi!BX31] = 1 Then .MaxIterations = 2
.MaxChange = 0.01
End With
[Envoi!BX33] = i rem: Valeur de i affichée dans Excel
Next i rem: Boucle de i
GoTo x rem: Boucle permanente interrompue par Echap
End Sub
En gras tout fonctionne bien (sans les boucles) à la seule condition de relacer manuellement l'exécution de la macro (triangle vert du menu macro) entre chacune des 3 séquences (BX28 -BX29 - BX30) et au retour au repos (BX31).
le problème des boucles c'est que durant leur exécution (en permanence avec goto x), il est impossible d'utiliser les cellules Excel et donc de poursuivre le fonctionnement. Ce n'est donc pas viable.
Je suppose que en ouvrant le fichier CM et donc sa macro, l'exécution de celle-ci s'effectue 1 fois;
ce qui conviendrait c'est que la macro se ré exécute au début des autres séquences de fonctionnement. (en remplacement de l'action sur le bouton d'exécution de la macro - triangle vert)
Si cela peut se résoudre, la solution est définitivement trouvée.
Concernant le craquage du logiciel, il s'agit dans sa version finalisée de supprimer les protections de fichiers et d'onglets puis d'essayer de comprendre sa logique de codage et décodage en analysant... les 100.000 cellules le constituant et contenant aucune
information de repérage et un nombre de leurres important; autant dire Y passer des jours au mieux... plus raisonnablement des mois.
Pour m'aider activement dans mon questionnement, je pourrais te te donner l'une des 5 options de fonctionnement possibles en 3 ou 4 fichiers mais seulement si cela t'intéresse.