données zéro

962

XLDnaute Junior
Bonjour,

Sur mon onglet feuil1 j'inscrit des chiffres, sur la feuil2 je récupère les chiffres pour former un graphique.
j'essaye de faire ma formule pour que si on met aucun chiffre en feuil1 que ce ne soit pas considéré comme zéro mais lorsque j'inscrit un chiffre ou bien le zéro que cela apparaissent sur la feuil 2 et que je puisse l'utilisé sur mon graphique.
Mais avec la formule =SI je n'y arrive pas !
quelqu'un à une idée ?

Cdt
 

962

XLDnaute Junior
Bonjour,

ça ne fait pas ce que je souhaite, je joint mon fichier j'inscrit le résultat dans le tableau en feuil1, l'onglet BDD je vais chercher les données en Feuil1 et je construit le graphique en feuil1. On voit le résultat de juin sur le graphique à zéro alors qu'il n'y a pas de données. Comment faire pour dire au grphique de ne pas prendre en compte les jours futur seulement lorsque l'on est à la date ?

Cdt
 

Pièces jointes

  • dispo machines.xlsx
    85.4 KB · Affichages: 29

CISCO

XLDnaute Barbatruc
Bonjour

Après de nombreux essais, deux propositions en pièce jointe.

* N'y arrivant pas autrement, j'ai mis dans le fichier dispo machines des formules dans les colonnes BDD!B et C (formule matricielle dans cette dernière, donc à valider avec les 3 touches Ctrl+maj+entrer) à partir de la ligne 58 pour réorganiser ton tableau sous la forme de 2 colonnes uniquement, en remplaçant automatiquement les dates manquantes et les cellules vides par des #N/A, ceux-ci n'étant pas tracés sur le graphique. Cela donne les deux graphiquex identiques à droite sur la feuille BDD, valables jusqu'à début 2018. Et malheureusement avec les dernières dates affichées à droite en trop.
Ne restait alors qu'à éliminer l'affichage de ces dates en trop sur l'axe X, par ex sur le second graphique. En définissant des plages dynamiques axe_X et axe_Y avec DECALER, et en mettant ces noms dans la formule SERIE définissant la courbe (dans la barre des formules), on doit pouvoir y arriver, comme montré , en prenant certaines précautions sur la syntaxe nom du fichier!nom de la plage dynamique.
* Comme je n'y suis pas arrivé (Excel me signale la présence d'une référence extérieure lorsque je met des noms dans SERIE(...;...;...;1), certainement un problème de syntaxe), j'ai transféré toutes tes données sur le fichier test graph proposé dans le fil précédent par Jean-Eric. Après quelques bricolages, cela semble fonctionner correctement.

@ plus

P.S : Attention, tu avais dans le fichier original plusieurs dates sur les lignes de janvier et février 2017 encore marquées sous la forme x/y/2016. Or, comme la formule dans la colonne C va rechercher les dates dans le tableau A3:X54, si elles sont fausses, cela bugue.
 

Pièces jointes

  • dispo machines.xlsx
    141.1 KB · Affichages: 27
  • test graph.xlsx
    74.5 KB · Affichages: 20
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonsoir

Je ne sais pas pourquoi, hier matin, je n'arrivai pas à mettre des noms dans la formule en SERIE(...;...;...;1) alors que maintenant, c'est OK. Au passage, j'ai corrigé une erreur dans la définition de axe_X que Chris et Shakki m'ont signalée sur ce fil.

@ plus
 

Pièces jointes

  • dispo machinesbis.xlsx
    143.7 KB · Affichages: 23
Dernière édition:

962

XLDnaute Junior
Bonjour,

la vache je ne pensais pas que ce serai aussi "hardu" bon en tout cas effectivement c'est nikel ça donne ce que je souhaite !!
Je te remercie beaucoup, je vaie le mettre sur mon fichier original !

Merci beaucoup !!

Cdt
 

CISCO

XLDnaute Barbatruc
Bonjour

Bonjour,
... serait aussi "hardu"
Merci beaucoup !!
Cdt

C'est juste que la disposition de ton tableau initial n'est pas des plus simples... :) Si tout cela avait été disposé directement sur deux colonnes ou sur deux lignes, on aurait certainement pu faire plus simple.

Bonsoir
Je ne sais pas pourquoi, hier matin, je n'arrivai pas à mettre des noms dans la formule en SERIE(...;...;...;1) ...
@ plus

Je pense avoir compris l'origine de ce problème. A un moment, je me souviens de remarquer que j'avais oublié des $ devant les lettres des colonnes dans la définitions des noms dans le gestionnaire de noms. J'ai donc recréé cette erreur, réessayé sur le fichier dispo machines du post #12 avec axe_X défini par =DECALER(BDD!$B$58;;;EQUIV(9^9;BDD!B$58:B$882;1)), donc sans les $, avec des références semi-relatives.

Si une cellule d'une colonne quelconque, autre que la colonne B, est sélectionnée, après avoir transformé =SERIE(;BDD!$B$58:$B$882;BDD!$C$58:$C$882;1) en =SERIE(;'dispo machines.xlsx'!axe_X;'dispo machines.xlsx'!axe_Y;1), j'ai ce massage d'erreur
erreur SERIE dispo machines.JPG

Si on sélectionne une cellule de la colonne B, , après la transformation de la formule SERIE(...;...;...;1), il ni y a pas de message d'erreur et ça fonctionne.
Normal. Dans le premier cas, axe_X et axe_Y ne correspondent pas aux plages dynamiques utiles dans les colonnes B et C. La définition de axe_X est devenue par exemple =DECALER(BDD!$B$58;;;EQUIV(9^9;BDD!K$58:K$882;1)) et ce n'est pas correct.

Conclusion :
1) Dans ce cas, il ne faut pas utiliser des références relatives.
2) Le message d'erreur n'est pas très explicite. Il ni y a pas forcément utilisation d'une référence externe (BDD!K$58:K$882 n'est pas une plage externe à la feuille ou au fichier).

@ plus

P.S : Ceci dit, pour rappel, pour éliminer les mois en trop à la fin de l'axe des X, il faut faire avec axe_X défini par =DECALER(BDD!$B$58;;;EQUIV(9^9;BDD!$C$58:$C$882;1))
 

Discussions similaires

Réponses
18
Affichages
483