![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: avril 2008
Messages: 2
|
Bonjour tout le monde,
J'ai une feuille de calcul sous Excel 2007 dans laquelle il y a une cellule qui est calculée par une Public Function qui est située dans une macro complémentaire chargée. La valeur de cette cellule est en référence circulaire car elle est fonction d'une somme totale qui inclus la cellule. A la première ouverture du fichier après le chargement d'Excel, la cellule donne #VALEUR! et la somme totale donne #NOM?. Si je ferme le fichier sans le sauver, puis l'ouvre à nouveau les cellules sont correctes (nombres dans toutes les cellules). J'aurais besoin de trouver une solution pour que les utilisateurs n'est pas à ouvrir 2 fois le fichier lorsqu'ils démarrent Excel. Sous Excel 2002, la solution était la suivante : il fallait sauver la XLA après la 2ème ouverture du fichier (lorsque les cellules sont correctes) ce qui permettait aux utilisateurs d'avoir les cellules correctes dès la première ouverture le fichier. |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: avril 2007
Messages: 383
|
bonsoir
je ne trouve pas très catholique de travailler avec des références dites circulaires !? Mais soit, pour solutionner le problème il faut (sous 2003) (voir équivalent 2007) Barre des Menus sélectionner Outils puis en bas Options... dans la fenêtre sélectionner l'onglet Calcul dans cet onglet cocher Itération et voir le nombre de fois souhaités Roland ReEDIT: dans 2007 il faut cliquer en haut à gauche sur l'icone Bouton Office puis en bas Options Excel puis cliquer sur Formules puis dans cette fenêtre voir Mode Calcul et cocher Activer le calcul Itératif Roland Dernière modification par Roland_M 04/05/2008 à 00h27. |
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: avril 2008
Messages: 2
|
Roland,
Les références circulaires sont faites pour de tel cas (par exemple, si l'on veut que notre marge soit de x% sur le prix de vente net). Le calcul itératif est toujours actif : à l'ouverture d'Excel sans fichier ouvert (défini par défaut dans mon modèle), à la première ouverture du fichier concerné (où les erreurs apparaissent) et aux ouvertures suivantes (où il n'y a plus d'erreurs). J'ai résolu mon problème d'une manière pas très élégante : j'ai ajouté le code suivant à PERSONAL.XLSB : Sub Auto_Open() Application.ScreenUpdating = False Workbooks.Add Application.DisplayAlerts = False ActiveCell.FormulaR1C1 = "=calc_com(R[1]C,R[2]C,R[3]C)" 'appel de la fonction qui génère l'erreur Selection.ClearContents ActiveWindow.Close Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub Le premier appel de la fonction qui génère l'erreur est donc exécuté dans une nouvelle feuille à l'ouverture d'Excel sans que l'utilisateur ne le voit et ainsi lors que le fichier demandé s'ouvre il est sans erreurs. Dernière modification par gilles_bsa 05/05/2008 à 10h46. |
|
|
|
| ANNONCES | |
![]() |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| Calucl itératif... ou autre ? | yadla | Forum Excel | 7 | 21/08/2007 16h09 |
| Parcours itératif de cellule | the_ionic | Forum Excel | 6 | 08/11/2006 14h17 |
| tri iteratif d'après combo | Francis | Forum Excel | 21 | 16/05/2005 17h45 |
| basculer en calcul itératif à l'ouverture | guillaume | Forum Excel Downloads - Archives | 0 | 16/12/2004 11h39 |
| calcul depuis un choix | yvon51 | Forum Excel Downloads - Archives | 3 | 21/01/2004 14h11 |