IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[EXCEL] : référence circulaire à cause d'une macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Avatar de repié
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    335
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 335
    Points : 281
    Points
    281
    Par défaut [EXCEL] : référence circulaire à cause d'une macro
    Bonjour

    Je suis face à un probleme bien stupide mais quand même embêtant.

    En fait j'ai un ensemble de cellules avec de nombreux calcul et de références entre elles et qui se sont dépendantes d'une unique cellule

    J'exploite cette ensemble de cellules par le biais d'une macro

    Mais j'ai un petit souci, c'est que j'ai une référence cirulaire qui n'apparait pas lorsque je modifie moi même cette unique cellule mais qui revient au grand jour et plante tous mes calculs lorsque c'est la macro qui modifie cette cellule référence.

    En bref, c'est uniquement lorsque la macro intervient que la référence circulaire existe.

    Quelqu'un a-t-il une solution ou une idée SVP

    Merci
    Pti Pié

  2. #2
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Je n'ai pas d'idée de ce que tu as pu écrire comme code ici et là..., non, sauf ... peut-être... que ta macro est lancée lorsqu'une cellule dépendante de ta fameuse cellule de base (quand cette cellule dépendante est modifiée)... et qu'elle modifie la cellule de base ... mais celà provoquerait une boucle sans fin et pas une référence circulaire.

    La seule façon d'y voir clair et de cesser de jouer aux devinettes serait de soumettre à notre examen la TOTALITE de ton code (je n'en vois pas d'autres)

  3. #3
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Salut,

    Peut-être pas la totalité du code, mais au moins la partie où la macro va écrire dans la fameuse cellule. Elle y écrit quoi? Une formule ou une valeur numérique?
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  4. #4
    Membre actif
    Avatar de repié
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    335
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 335
    Points : 281
    Points
    281
    Par défaut
    En fait c'est simplement une valeur numérique qui est mise dans cette cellule.

    L'ensemble de cellules (la cartouche) est un modele strandard qui fait référence à une autre feuille avec la fonction RechercheV et d'autres calculs.
    Ainsi suivant le nombre que je rentre dans la cellule principale, les autres cellules font appel à toutes les infos relative à ce nombre (qui est un code de référence pour des données).
    Lors de ma macro, je fait autant de boucle qu'il y a de code, j'insere le code dans la cellule principale de la cartouche puis je copie cette cartouche obtenue à la suite de la précédente dans une nouvelle feuille.

    Le problème intervient lors de l'insertion du code. Si je met le code "à la main", tous les calculs de se font normalement. C'est quand la macro fait le travail que Excel trouve une référence circulaire.

    Je doute que le probleme vienne de ma macro mais plutôt de la faon dont Excel fait ses calculs
    Pti Pié

  5. #5
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    NON ! JE DOUTE QUE L'AUTOMATE FASSE MAL SES OPERATIONS. CA SE SAURAIT !!!

    Il est plus vraisemblable que, quelque part dans ton code (mais où ?), se trouve comprise dans le calcul à faire, la valeur d'une cellule indûe (du genre toto = total de (titi + tata + toto)

    Si tu rentres toto "à la main", c'est très différent car ce n'est plus toto qui est considéré, mais sa valeur ainsi fixée.

    Ce que tu peux faire à défaut de communiquer ton code :

    Imprimes ce code sur une feuille
    Imprimes également les formules éventuelles de calcul (dans tes cellules)
    Imprime enfin ta feuille

    Puis joues toi-même à l'automate, pas à pas, en "exécutant" ton code... et tu auras toutes les chances de tomber sur cette "référence circulaire"

  6. #6
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    PS : Tu pourrais peut-être aussi utiliser le déboggeur.

    Vois à ce propos le sujet : http://www.developpez.net/forums/viewtopic.php?t=438903

  7. #7
    Membre actif
    Avatar de repié
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    335
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 335
    Points : 281
    Points
    281
    Par défaut
    J'ai repris tout mon code de A à Z et, effectivement, il y avait un problème au niveau des formules de cellules.

    Donc ce n'est pas la faute de Excel!

    Merci bien
    Pti Pié

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Référence circulaire causée par une requete A
    Par mcollong dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 06/02/2014, 14h07
  2. [EXCEL] interrompre l'exécution d'une macro
    Par ustilago dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/10/2006, 10h24
  3. [VBA] Excell : demande d'aide pour une macro
    Par Fealendril dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/01/2006, 16h28
  4. [VBA Excel] ecrire le caractere " avec une macro
    Par oktopuces dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/09/2005, 22h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo