Configuration automatique des itérations dans Excel

Anonyme
2015-11-23T10:43:05+00:00

Bonjour

C'est un problème un peu particulier que je souhaite vous soumettre (sous EXCEL 2010 minimum).

Je développe un programme EXCEL utilisant le calcul itératif pour de nombreuses boucles; le contenu des données de ce programme et le temps de traitement sont très variables d'une utilisation à l'autre obligeant trop fréquemment à redéfinir manuellement le nombre maximal d'itérations. je souhaiterais une configuration automatique.

Le nombre maximal d'itérations à configurer est manuel dans le menu "Fichier - Options - Formules".

Dans l'idéal, ce nombre maximal d'itérations serait à récupérer dans une cellule d'une feuille Excel et dont le contenu serait variable suivant la quantité de données de l'application à traiter. En cas d'absence de nombre dans la cellule, la configuration manuelle reprend la main.

A ma connaissance aucune instruction ne permet de réaliser cette configuration automatique du nombre maxi d'itérations.

Pour le moins serait-il possible de savoir comment et où récupérer la configuration d'Excel à l'ouverture d'un fichier (les informations de l'onglet "Options" paramétrables manuellement.

D'un niveau bien trop modeste en VBA, je recherche une macro qui permette cette configuration automatique à partir du contenu d'une cellule d'une feuille.

En remerciant d'avance celles et ceux qui pourraient m'aider à résoudre ce problème.

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

24 réponses

  1. DanielCo 107.1K Points de réputation
    2015-12-01T12:59:46+00:00

    Bonjour,

    Désolé, je ne comprends pas. J'abandonne.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2015-12-01T11:28:56+00:00

    Concernant la boucle présentée:

    Tant que [Feuil1!B4] = 3, effectivement la boucle est permanente... Jusqu'à ce que [Feuil1!B4]=0 ou change de valeur (0,1,2...); auquel cas on sort de la boucle pour rentrer dans la suivante.

    a3 permet de n'effectuer en déroulement d'Excel que le nombre d'itérations souhaité dans une boucle et pas plus.

    Durant toute la durée d'une boucle (correspondant à une séquence de fonctionnement), le Nbre max d'itérations est affiché dans fichier, options, formules et les itérations s'incrémentent en bas de la feuille Excel; cela permet au programme du logiciel de modifier énormément de cellules successives dans Excel pour en arriver au début de la séquence suivante (modification automatique du N° de séquence dans ce cas).

    a0 à a3 permettent de ne faire effectuer par Excel que le Nbre d'itérations souhaité une seule fois même si la boucle se poursuit dans l'attente de fin de séquence et de modification d'emploi par l'utilisateur.

    Le calcul du Nbre d'itérations (2,6,45,10) a été calculé comme le nombre nécessaire pour que chaque séquence se déroule correctement.

    Chronologie du fonctionnement:

    * Séquence de départ (la 3): séquence d'attente (qui peut être longue) de collage d''un message original à coder

    * Séquence de calcul du Nbre d'itérations nécessaires (la 0): En fonction de la longueur du texte à coder, Excel calcule le Nbre d'itérations nécessaires pour le codage (6 Itérations suffisent).

    * Séquence de codage (la 1): le codage du message s'effectue (45 itérations nécessaires souvent de 100 à 1000 suivant le nombre de caractères à décoder); à la fin, le message codé apparaît dans Excel; il convient alors manuellement de copier ce message et le coller dans un traitement de texte pour envoi ou autre.

    * Séquence de réinitialisation: (la 2): le message original est effacé manuellement, il faut vider dans le programme toutes les cellules qui ont été modifiées (10 itérations suffisent); en fin de vidage, retour à la séquence initiale (la 3).

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. DanielCo 107.1K Points de réputation
    2015-12-01T10:19:38+00:00

    Bonjour,

    Cette séquence me paraît être une boucle infinie sans qu'aucune valeur soit modifiée :

    Do While [Feuil1!B4] = 3

          If a3 = 1 Then GoTo suite3

          With Application

          .MaxIterations = [Feuil1!B6].Value

          [Feuil1!B12] = .MaxIterations

          a3 = 1

          End With

    suite3: DoEvents

    Loop

    Quand [Feuil1!B4] = 3 (valeur initiale) et a3 = 1 (valeur fixée à la première exécution de la boucle)

    Ou j'ai raté quelque chose ?

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2015-11-30T19:14:40+00:00

    Le but de la macro est de configurer automatiquement ce que l'on fait manuellement dans Fichier, Options, Formule (Le résultat dans mon petit fichier est la cellule bleue).

    Pourquoi une configuration automatique?

    Il y a dans mon logiciel 4 séquences de fonctionnement successives (Le résultat dans mon petit fichier est la cellule jaune de départ contenant le N° de séquence en cours). Chaque séquence, pour s'exécuter automatiquement, exige une configuration (calculée par Excel dans mon programme: 2, 6, 45, 10) du Nbre d'itérations max.

    Au lieu donc d'effectuer 4 configurations manuelles successives du Nbre d'itérations max des séquences de fonctionnement (2 puis 6 puis 45 puis 10 dans mon exemple), il faut que cette configuration soit automatique et qu'elles s'effectuent dans Excel (visible dans le bandeau du bas) du Nbre en cours configuré.

    J'espère que ces explications seront le plus clair possible. S'il y a besoin d'autres explications...

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire