Macro excel pour recalculer une référence cir
Résolu
Olilius
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
jo360 -
jo360 -
Bonjour,
J'ai un petit souci avec excel : j'ai une feuille de calcul un peu complexe avec des références circulaires. Lorsqu'on change des valeurs dans cette feuille, excel n'arrive pas toujours à calculer les références ciculaires.
La seule solution que j'ai trouvée, c'est de supprimer la formule et de la récopier... et ça marche de nouveau : çà a l'air du bug d'excel, mais je n'ai rien trouvé sur le net.
Comme j'ai une vingtaine de réf circulaires, j'ai créer une macro qui fait la manip.
Le problème c'est que je veux masquer cette feuille (et protéger le classeur) et que les résultats de mes calculs sont exploités dans une autre feuille... et je ne sais pas comment je peux activer la macro depuis ma feuille de résultat pour qu'elle s'applique sur la feuille de calcul et non sur la feuille active.
Merci pour le coup de main !
Olivier
J'ai un petit souci avec excel : j'ai une feuille de calcul un peu complexe avec des références circulaires. Lorsqu'on change des valeurs dans cette feuille, excel n'arrive pas toujours à calculer les références ciculaires.
La seule solution que j'ai trouvée, c'est de supprimer la formule et de la récopier... et ça marche de nouveau : çà a l'air du bug d'excel, mais je n'ai rien trouvé sur le net.
Comme j'ai une vingtaine de réf circulaires, j'ai créer une macro qui fait la manip.
Le problème c'est que je veux masquer cette feuille (et protéger le classeur) et que les résultats de mes calculs sont exploités dans une autre feuille... et je ne sais pas comment je peux activer la macro depuis ma feuille de résultat pour qu'elle s'applique sur la feuille de calcul et non sur la feuille active.
Merci pour le coup de main !
Olivier
A voir également:
- Macro excel pour recalculer une référence cir
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
7 réponses
bonjour
Ce n'est pas à proprement parler un bug d'excel, le fait que cela fonctionne est plutôt un miracle et ce n'est pas du tout sûr que cela donne toujours le bon résultat.
Pour que la macro s'applique sur une autre feuille, il suffit de qualifier les références sheets("feullex").objet
Par contre une macro qui modifie des cellules sur une feuille protégée ne fonctionne pas il faut penser à dé-protéger puis remettre la protection.
Ce n'est pas à proprement parler un bug d'excel, le fait que cela fonctionne est plutôt un miracle et ce n'est pas du tout sûr que cela donne toujours le bon résultat.
Pour que la macro s'applique sur une autre feuille, il suffit de qualifier les références sheets("feullex").objet
Par contre une macro qui modifie des cellules sur une feuille protégée ne fonctionne pas il faut penser à dé-protéger puis remettre la protection.
Bonsoir,
Merci pour l'info, mon code est bon maintenant.
Par contre, je ne comprends pas pourquoi tu parles de "miracle" et de l'incertitude quant au bon résultat.
Ma fonction est obligatoirement circulaire, et j'ai mis le nombre d'itération sur 100.
- Pourquoi le résultat n'est-il pas certain ?
- Ai-je plus de chance avec 1000 itérations par exemple ?
- Sais-tu pourquoi parfois excel n'arrive pas à faire le calcul et pourquoi parfois ça marche ?
Merci si tu as des infos, j'aimerai bien comprendre
Olivier
Merci pour l'info, mon code est bon maintenant.
Par contre, je ne comprends pas pourquoi tu parles de "miracle" et de l'incertitude quant au bon résultat.
Ma fonction est obligatoirement circulaire, et j'ai mis le nombre d'itération sur 100.
- Pourquoi le résultat n'est-il pas certain ?
- Ai-je plus de chance avec 1000 itérations par exemple ?
- Sais-tu pourquoi parfois excel n'arrive pas à faire le calcul et pourquoi parfois ça marche ?
Merci si tu as des infos, j'aimerai bien comprendre
Olivier
bonjour
Cela dépend de la complexité de tes formules et du degré de précision souhaité mais comme elles sont calculées avec des approximations il est normal qu'il y ait des écarts. D'autre part la moindre anomalie de paramétrage d'une formule risque de fausser le résultat amplifié avec les itérations. Essaie de monter des formules qui vérifient tout simplement une facturation avec multiplications, ajout de taxes, application de remises et bien sûr arrondi au centime d'euro : ce qui donne le même résultat sur une facture sera incorrect la fois suivante et parfois de façon importante si les calculs sont assez nombreux.
Si tu augmentes les itérations le résultat est plus fin mais les temps de calculs augmentent.
L'ordre des calculs effectués n'est pas le même systématiquement en fonction de l'élément déclencheur et donc dans certains cas il y a des incohérences non résolues provoquant le blocage.
Certains calculs effectivement ne peuvent être réalisés que par itération mais même en les réalisant avec des modules spécialement conçus, on n'arrive pas toujours à un résultat strictement identique. Il est parfois impossible, même pour certains calculs très utilisés au quotidien, de vérifier le résultat obtenu car le contrôle fait sur un autre applicatif ne donnera pas exactement le résultat identique. Comme avec un tableur tu utilises des itérations banalisées et pas totalement appropriées à chaque cas les boucles sont parfois incohérentes.
Ce n'est pas toujours facile de contrôler les formules mais avec des références circulaires comment être sûr de leur écriture ?
Cela dépend de la complexité de tes formules et du degré de précision souhaité mais comme elles sont calculées avec des approximations il est normal qu'il y ait des écarts. D'autre part la moindre anomalie de paramétrage d'une formule risque de fausser le résultat amplifié avec les itérations. Essaie de monter des formules qui vérifient tout simplement une facturation avec multiplications, ajout de taxes, application de remises et bien sûr arrondi au centime d'euro : ce qui donne le même résultat sur une facture sera incorrect la fois suivante et parfois de façon importante si les calculs sont assez nombreux.
Si tu augmentes les itérations le résultat est plus fin mais les temps de calculs augmentent.
L'ordre des calculs effectués n'est pas le même systématiquement en fonction de l'élément déclencheur et donc dans certains cas il y a des incohérences non résolues provoquant le blocage.
Certains calculs effectivement ne peuvent être réalisés que par itération mais même en les réalisant avec des modules spécialement conçus, on n'arrive pas toujours à un résultat strictement identique. Il est parfois impossible, même pour certains calculs très utilisés au quotidien, de vérifier le résultat obtenu car le contrôle fait sur un autre applicatif ne donnera pas exactement le résultat identique. Comme avec un tableur tu utilises des itérations banalisées et pas totalement appropriées à chaque cas les boucles sont parfois incohérentes.
Ce n'est pas toujours facile de contrôler les formules mais avec des références circulaires comment être sûr de leur écriture ?
Merci pour ta réponse.
Je peux controler ainsi :
1) mon calcul à partir des recettes, dépenses, j'ai le calcul de la TVA, les cotisations, et le revenu net.
2) mes réf circulaires c'est je veux un revenu de x euros, combien de recettes ?
En faisant mettant les résultats "naturels" du 1) dans le 2), j'ai une marge d'erreur de 0.01 à 1% selon différents critères.
Bonne soirée
Olivier
Je peux controler ainsi :
1) mon calcul à partir des recettes, dépenses, j'ai le calcul de la TVA, les cotisations, et le revenu net.
2) mes réf circulaires c'est je veux un revenu de x euros, combien de recettes ?
En faisant mettant les résultats "naturels" du 1) dans le 2), j'ai une marge d'erreur de 0.01 à 1% selon différents critères.
Bonne soirée
Olivier
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour
Merci de ces précisions et c'est effectivement une utilisation intéressante du tableur.
As-tu essayé de réaliser ton calcul avec le solveur (menu outils / solveur) qui me semble adapté à ton problème ?
Merci de ces précisions et c'est effectivement une utilisation intéressante du tableur.
As-tu essayé de réaliser ton calcul avec le solveur (menu outils / solveur) qui me semble adapté à ton problème ?
Non, je ne connaissais pas. J'ai installé la macro complémentaire et je vais regarder de près.
Merci beaucoup pour tes infos
Cordialement
Olivier
Merci beaucoup pour tes infos
Cordialement
Olivier