Microsoft 365 Erreurs dans un tableau

  • Initiateur de la discussion Initiateur de la discussion JPC33
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

JPC33

XLDnaute Occasionnel
Bonsoir le forum,
J'ai de vieux fichiers que j'essaie d'améliorer, mais mes lacunes m'en empêchent…
Dans 2 onglets, des anomalies formules indirect que je ne maîtrise pas.
Je vous remercie de votre soutien.
 

Pièces jointes

Solution
Je ne connais pas la notation L1C1 et je n'ai pas la possibilité d'utiliser les formules "dynamiques", mais j'émets tout de même une hypothèse : il faudrait peut-être commencer par remplacer le 2 par un 8 :
Code:
=SI(ESTVIDE(INDIRECT("L10C(-1):L"&NBVAL($F9#)+8&"C(-1)";0))+ESTVIDE(INDIRECT("L9C(-1):L"&NBVAL($F9#)+1&"C(-1)";0));"";INDIRECT("L10C(-1):L"&NBVAL($F9#)+8&"C(-1)";0)-INDIRECT("L9C(-1):L"&NBVAL($F9#)+1&"C(-1)";0))
Bonjour ,

L1C1 vient de la première version de Multiplan (un tableur MS des années 80) et ça existe encore dans Excel mais tellement peu lisibles que plus personne ne l'utilise... Ceci dit les formules chez moi ( 2016) ne sont pas comprises donc elles été écrites par une version plus récente..
On le voit dans...
La formule en colonne E est censée calculer quoi ???
Est-ce la perte totale par rapport aux 30 g théoriques ?
Si c'est ça, essaye ceci : =$C$9-$d9

Si c'est la perte par rapport au poids initial, essaye ceci : =$d9-d9

Si c'est autre chose qui doit être calculé, explique. 😉
 
La formule en colonne E est censée calculer quoi ???
Est-ce la perte totale par rapport aux 30 g théoriques ?
Si c'est ça, essaye ceci : =$C$9-$d9

Si c'est la perte par rapport au poids initial, essaye ceci : =$d9-d9

Si c'est autre chose qui doit être calculé, explique. 😉
Merci pour votre persévérance
Dans la colonne E s'affichent les pertes réelles journalières de la colonne D. La fonction =$D9-D9 ne fonctionne pas.
Merci
 
😲 Pourquoi ça ne fonctionne pas ???

Tu veux avoir la perte de poids par rapport à la veille ?
Si oui, essaye simplement ceci :
Code:
=d9-d10

Ou pour faire plus joli :
Code:
=SI(D10="";"";D9-D10)
C'est cette formule que j'avais dans mes premiers fichiers ; elle fonctionne bien sûr, mais elle n'est pas dynamique. C'est pour cela que chris avait changé la formule
 
Ah oui, donc c'est n'importe quoi... 🙄


Bonne chance pour la suite
🖖
Auparavant j'ai travaillé dans un parc animalier où je m'occupais entre autres de la reproduction des oiseaux. l'incubation suivant les espèces dure d'une 10ne de jours à une 60ne exemple le nandou. Le sevrage jusqu'à 6 mois et plus. Donc pour éviter d'avoir des longueurs de formules interminables dans les fichiers il est préférable d'avoir des formules dynamiques.
Merci quand même donc je laisse tomber.
 
dans celui-ci 12 oeufs et 12 poussins par fichier

Oui merci, j'avais vu !...

@+
Bonjour J'ai interrogé Copilot
Explication de cette formule :
=SI(ESTVIDE(INDIRECT("L4C(-1):L"&NBVAL($A3#)+2&"C(-1)";0))+ESTVIDE(INDIRECT("L3C(-1):L"&NBVAL($A3#)+1&"C(-1)";0));"";INDIRECT("L4C(-1):L"&NBVAL($A3#)+2&"C(-1)";0)-INDIRECT("L3C(-1):L"&NBVAL($A3#)+1&"C(-1)";0))
Cette formule est utilisée pour effectuer une opération conditionnelle sur deux plages de cellules dynamiques, en utilisant notamment les fonctions SI, ESTVIDE, INDIRECT et NBVAL.
  • NBVAL($A3#) : calcule le nombre de valeurs dans la plage générée par la formule dynamique associée à la cellule A3.
  • INDIRECT("L4C(-1):L"&NBVAL($A3#)+2&"C(-1)";0) : crée une référence à une plage de cellules commençant à la ligne 4, colonne précédente, jusqu’à la ligne « NBVAL($A3#)+2 », toujours colonne précédente. Le mode « 0 » indique une référence de type L1C1 (ligne-colonne).
  • De même, INDIRECT("L3C(-1):L"&NBVAL($A3#)+1&"C(-1)";0) fait référence à la plage juste au-dessus.
  • ESTVIDE(...) : vérifie si les plages référencées sont vides.
  • La somme des deux ESTVIDE permet de savoir si l’une ou l’autre plage est vide. Si c’est le cas, la formule renvoie une cellule vide (« "" »).
  • Sinon, elle fait la différence entre les deux plages générées par INDIRECT : INDIRECT("L4C(-1):L"&NBVAL($A3#)+2&"C(-1)";0)-INDIRECT("L3C(-1):L"&NBVAL($A3#)+1&"C(-1)";0)
En résumé, cette formule compare deux plages de cellules dynamiques (générées en fonction du contenu de la cellule A3), et si les deux plages contiennent des données, elle effectue leur soustraction ligne à ligne. Si au moins une des plages est vide, le résultat est une cellule vide.

Pour adapter la formule afin qu’elle fonctionne avec les plages dynamiques des colonnes $F3#, etc., il suffit de remplacer chaque référence à $A3# par la colonne concernée.
Pour $F3# :
=SI(ESTVIDE(INDIRECT("L4C(-1):L"&NBVAL($F3#)+2&"C(-1)";0))+ESTVIDE(INDIRECT("L3C(-1):L"&NBVAL($F3#)+1&"C(-1)";0));"";INDIRECT("L4C(-1):L"&NBVAL($F3#)+2&"C(-1)";0)-INDIRECT("L3C(-1):L"&NBVAL($F3#)+1&"C(-1)";0))
Veillez à adapter la formule pour chaque colonne souhaitée en remplaçant simplement $A3# par la référence de la colonne de départ. Cette adaptation permet de répliquer le calcul différentiel sur plusieurs séries de données dynamiques au sein d’une même feuille.

Si la formule doit partir de la plage dynamique $A9#, il suffit de remplacer chaque occurrence de $A3# par $A9# et d’ajuster les références de lignes dans les paramètres d’INDIRECT en conséquence. Voici l’adaptation :

=SI(ESTVIDE(INDIRECT("L10C(-1):L"&NBVAL($A9#)+8&"C(-1)";0))+ESTVIDE(INDIRECT("L9C(-1):L"&NBVAL($A9#)+7&"C(-1)";0));"";INDIRECT("L10C(-1):L"&NBVAL($A9#)+8&"C(-1)";0)-INDIRECT("L9C(-1):L"&NBVAL($A9#)+7&"C(-1)";0))

Ici, « L10C(-1) » et « L9C(-1) » correspondent respectivement aux lignes de départ adaptées pour la plage commençant à $A9#. Veillez à ajuster ces valeurs si la structure de votre tableau diffère.
C'est bon.
Bonne soirée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
53
Affichages
881
Réponses
4
Affichages
191
  • Question Question
Réponses
7
Affichages
215
  • Question Question
Autres MACRO
Réponses
20
Affichages
538
Retour