Référence circulaire dans MS Excel

Résolu
Ray -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Comment forcer la prise en charge des références circulaires dans MS Excel 2003 ?. Dans Outils/Options/Calcul, on peu cocher la case "Itération" et spécifier un nombre d'itération. Cependant ces paramètres semblent affecter tous les fichiers ouverts dans la même occurence d'Excel. Certains fichiers Excel générés par une de mes applications ont besoin de la prise en charge des rérérences circulaires avec 100 itérations. Lors de l'ouverture d'un de ces fichiers, si Excel est déjà ouvert sans cette prise en charge, je ne réussi pas à forcer la prise en charge des références circulaires (ni par le nouveau fichier ni par une macro). Je dois alors l'activer manuellement pour résoudre toutes les formules.

Quelqu'un a une idée ?

3 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir,

    Pourtant ça a l'air de bien s'activer par macro...
    Que ce soit à l'ouverture ou à l'activation :
    Private Sub Workbook_Activate()
        Application.Iteration = True
    End Sub
    
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        Application.Iteration = False
    End Sub
    
    Private Sub Workbook_Deactivate()
        Application.Iteration = False
    End Sub
    
    Private Sub Workbook_Open()
        Application.Iteration = True
    End Sub

    Iteration on-off.xls

    eric
    0
  2. Ray
     
    Merci ! Effectivement, ça fonctionne. Maintenant, j'aurais besoin que la commande Application.Iteration = True se fasse à l'ouverture de chaque fichier dans MS Excel sans avoir à ajouter ces macros à tous le fichiers. Est-ce possible ?
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Ben là tu reviens à la case départ : tu l'actives manuellement et ça reste...
      A ma connaissance on ne peut surveiller un autre classeur que celui où est la macro.
      eric
      0
  3. Ray
     
    Je dois alors me fier que l'utilisateur ne désactivera pas la case Itération. Je peux vivre avec ça.

    Merci !
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Ou alors tu ruses (si la liste des classeurs concernés est à peu près fixe) :
      Dans un classeur où tu as mis l'activation tu mets des liens vers les autres classeurs, et tu leur demandes de passer systématiquement par celui-ci. Et de le fermer en dernier pour restaurer le calcul automatique

      eric
      0