Microsoft 365 Problème Références circulaires

M.Ben

XLDnaute Junior
Bonjour la communauté,

Je viens vers vous car sur l'un de mes fichiers j'ai un problème de référence circulaire.

Je vous explique mon soucis, j'ai trouvé une vidéo d'une personne qui explique l'ensemble des étapes qu'il fait pour monter son fichier EXCEL de gestion de projet (GANTT).

Je bloque à une endroit qui permet d'incrémenter dynamiquement un numéro (colonne id - feuille Gantt), la formule fait appelle à des noms que j'ai défini comme la personne le fait.

Au début, lorsque je glisse ma formule vers le bas, un message d'erreur apparait me disant que j'ai des problèmes de références circulaires.

Après de multiple visionnage de la vidéo pour voir si j'avais mal exécuté la démarche, j'ai cherché des informations sur les références circulaire.

Je suis tombé sur le site du support Microsoft, expliquant que parfois il fallait cocher l'option calculs itératifs pour palier à ce problème. J'ai suivis la démarche, ma formule fonctionne comme sur la vidéo, par contre je ne sais pas pourquoi mais à chaque fois que j'enregistre mon fichier ou que je clique sur entrée pour valider une formule ou toute autre action, les valeur s'incrémentent de 10, sans que je sache ou que je ne comprenne la raison.

J'ai testé de désactiver le calcul automatique dans les options et autre mais sans succès.

S'aurez-vous m'aider ?

Cordialement
 

Pièces jointes

  • Gantt.xlsx
    31.7 KB · Affichages: 5
Dernière édition:
Solution
Bonjour M.Ben,
Si vous cliquez en B15 et regardez comment est défini prev_col_range, cela donne =Gantt!B$13:B22, je pense que cela devrait être =Gantt!B$13:B14, c'est à dire le max des cellules avant.
C'est pour cela que vous avez un problème de référence circulaire car dans la formule B13:B22 B15 est inclus.
Mais si le but est uniquement d'incrémenter l' ID, alors je pense qu'il est possible de faire =LIGNE()-14, ainsi c'est plus simple.
Et si le premier ID n'est pas 1 mais arbitraire, vous faire en B16: =MAX(B$13:B15)+1

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour M.Ben,
Si vous cliquez en B15 et regardez comment est défini prev_col_range, cela donne =Gantt!B$13:B22, je pense que cela devrait être =Gantt!B$13:B14, c'est à dire le max des cellules avant.
C'est pour cela que vous avez un problème de référence circulaire car dans la formule B13:B22 B15 est inclus.
Mais si le but est uniquement d'incrémenter l' ID, alors je pense qu'il est possible de faire =LIGNE()-14, ainsi c'est plus simple.
Et si le premier ID n'est pas 1 mais arbitraire, vous faire en B16: =MAX(B$13:B15)+1
 

M.Ben

XLDnaute Junior
Bonjour Sylvanu,

Merci, pour votre retour en effet la définition de "prev_col_range" = Gantt!B$13:B22 posait problème.
J'ai donc modifié comme vous l'avez indiqué par =Gantt!B$13:B15.
je n'ai pas écris =Gantt!B$13:B14, car ça faisait commencer ma cellule B16 par 1 alors que logiquement le résultat est sensé être 2.

Du coup maintenant, quand j'insère une nouvelle ligne et que je copie vers le haut ou le bas les formules ça se met à jour comme il se doit (je vous aurez bien enregistré une vidéo pour vous montrer le résultat de ce que je vous écris la mais je ne sais pas comment faire 😅).

Pour le la seconde méthode que vous avez indiqué, je vais être franc avec vous je n'ai pas compris, celle pour l'idée arbitraire je crois que si (même si je ne suis pas arrivé à l'appliquer) et celle =LIGNE()-14 non.

Encore merci pour votre aide, c'est toujours un immense plaisir de vous lire et de voir le niveau de maitrise que vous avez sur Excel tant en VBA que formule.
 

Discussions similaires

Réponses
2
Affichages
258

Statistiques des forums

Discussions
311 709
Messages
2 081 754
Membres
101 812
dernier inscrit
trufu