XL 2010 laisser les trous dans mon graphique pour faire des courbes discontinues

Rrradassse

XLDnaute Junior
Bonjour,

J'ai des graphiques à faire, qui sont liés à un tableau reposant sur des équations dont la base de données est un TCD.
Le TCD peut varier, donc je dois laisser les formules dans le tableau source des graphiques.
Certaines valeurs sont à 0, mais il y a une formule dans la case donc le graphique la prend comme "0". Je voudrais que ces valeurs ne figurent pas dans le tableau et qu'il y ait une coupure des courbes pour ces résultats (ca renvoie à l'explication "je n'ai pas vendu de carottes à ce marché là parce que je n'ai pas de producteur de carottes proche de ce marché la", et non pas "j'ai vendu pour 0€ mes carottes").

Mais quoi que je fasse ("", "#N/A", etc. au lieu de 0), tant que je ne supprime pas purement la formule de la cellule, le graphique n'interrompt pas sa courbe.

Dans sélectionner les données, j'ai bien coché l'option "intervalles".

Je lis plein de choses concernant ce problème sur internet, mais les gens ont le problème inverse (ils veulent une courbe continue)

Que puis-je faire pour que le graphique n'utilise pas la cellule nulle (mais garde la référence en abscisse)?



Merci d'avance,

Rrrady
 

Rrradassse

XLDnaute Junior
Re : laisser les trous dans mon graphique pour faire des courbes discontinues

Bonjour,

^^ j'avais essayé avec et sans sur Excel ;-)

En fait, quelque soit le résultat de la formule (#N/A, "#N/A", Ratatouille, "", ERR, #ERREUR, [espace]...), le graphique interprète la cellule comme non vide puisqu'il y a quelque chose, et cette chose n'étant pas supérieure à 0 elle est considérée comme nulle et la courbe passe par 0... ><
 

Efgé

XLDnaute Barbatruc
Re : laisser les trous dans mon graphique pour faire des courbes discontinues

Bonjour à tous

Avec la bonne syntaxe, peut être:
NA()

Si(Condition;Vrai;NA())

Ce qui donne pour le classeur exemple fourni:
SI(j'ai vendu des carottes à ce marché; nombre de carottes vendues a ce marché;NA())

Cordialement
 
Dernière édition:

Rrradassse

XLDnaute Junior
Bonjour à tous

Avec un fichier exemple, je pense que le sujet serait clôt depuis bien longtemps...

Cordialement
Bonjour,

comme c'est valable pour n'importe quel tableau Excel avec des formules, j'estimais qu'héberger un fichier de plus sur Internet était une hérésie pour l'environnement (d'après l'ADEME, transmettre un e-mail affublé d’une pièce joindre 1 Mo a l’impact suivant : 19 grammes eqCO2 – 4,8 g eq. Fer – 5,2 g eq. Pétrole!)

Anyway, voici un fichier Excel à votre demande :

en E6 (ou E7 ou E8) quel que soit le terme (espace, "ERR", NA(), 0, ...) utilisé pour la formule, la courbe du graphique prend en compte ma case (en 0 ou en ligne continue), or moi je veux un trou dans la courbe car il n'y a pas de valeur à cet endroit la...

cdt,


Rrrady
 

Pièces jointes

  • Classeur2.xlsx
    11.6 KB · Affichages: 46
Dernière édition:

Dugenou

XLDnaute Barbatruc
Bonjour,
Je ne suis pas un spécialiste d'écologie : mais la différence doit être mince entre 3 messages sans pj et 1 message avec pj de 11 k
Quoi qu'il en soit : pj en retour avec une solution bancale : le #N/A permet de faire disparaître le point à 0 mais la courbe est tracée entre le dernier point et le point suivant.
Pour avoir une "interruption de la courbe", il faut faire deux séries que tu peux mettre de la même couleur
Cordialement
 

Pièces jointes

  • rradass.xlsx
    11.5 KB · Affichages: 40

Efgé

XLDnaute Barbatruc
Bonjour à tous

@ Rrradassse

Lorsque tu regardes ton exemple tu vois que les points dont la valeurs est NA() sont bien absents de la courbe.
C'est le trait de la série qui continu.
Prend une courbe sans trait, avec marqueur, tu verras que le point impacté n'est pas présent et non à O.
C'est, a ma connaissance, une limite aux courbes.

Quant aux savants calculs de telle ou telle organisme, on pourrait en disserter des heures.... Nous avons une charte qui encourage les fichiers exemples. On adhère ou pas, c'est ainsi :)

Cordialement​
 

Rrradassse

XLDnaute Junior
Bonjour,
Je ne suis pas un spécialiste d'écologie : mais la différence doit être mince entre 3 messages sans pj et 1 message avec pj de 11 k
Quoi qu'il en soit : pj en retour avec une solution bancale : le #N/A permet de faire disparaître le point à 0 mais la courbe est tracée entre le dernier point et le point suivant.
Pour avoir une "interruption de la courbe", il faut faire deux séries que tu peux mettre de la même couleur
Cordialement
Bonjour,

je ne m'attendais pas à autant de problème lors de mon premier message ;)

Cette solution n'est pas possible car il y a des formules parce qu'il y a des actualisations des données, et le but des formules est que la courbe suive automatiquement. Dans le fichier que j'utilise il y a 14 onglets et jusqu'à 6000 lignes par onglets, et plusieurs graphiques contenant courbes et histogrammes qui doivent être en "intervalles".

En solution bancale, le plus simple est d'effacer les cellules vides, mais c'est vraiment trop bancal pour être acceptable :(
 

Rrradassse

XLDnaute Junior
Bonjour à tous

@ Rrradassse

Lorsque tu regardes ton exemple tu vois que les points dont la valeurs est NA() sont bien absents de la courbe.
C'est le trait de la série qui continu.
Prend une courbe sans trait, avec marqueur, tu verras que le point impacté n'est pas présent et non à O.
C'est, a ma connaissance, une limite aux courbes.

Quant aux savants calculs de telle ou telle organisme, on pourrait en disserter des heures.... Nous avons une charte qui encourage les fichiers exemples. On adhère ou pas, c'est ainsi :)

Cordialement​

Pour la courbe sans trait, dans ce cas je n'ai plus de courbe c'est ca? :(

pour la charte,
4 – La question doit être posée le plus clairement possible en comprenant bien que le lecteur ne peut pas s’imaginer le problème.

5 – La possibilité de joindre des fichiers est donnée sur ce forum. Ne pas hésiter à utiliser cette fonction, tout en veillant que les données soient bidons et donc qu’aucune donnée confidentielle, nominative ne soit dans le fichier.
Je n'avais pas lu que les PJ étaient obligatoires ou fortement encouragées o_O:confused:, mais simplement proposées afin de respecter le point 4. Personne ne m'avais dit que ma question n'était pas claire ;)
 

job75

XLDnaute Barbatruc
Bonjour Rrradassse, Dugenou, Efgé,

En solution bancale, le plus simple est d'effacer les cellules vides, mais c'est vraiment trop bancal pour être acceptable :(

Cela ne me paraît pas du tout bancal, voyez le fichier joint et cette macro :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim source As Range, decal&, t, ncol%, f$, i&, j%
Set source = [B2:F4] '1er tableau, à adapter
decal = 4 'décalage pour définir le 2ème tableau, à adapter
t = source 'matrice, plus rapide
ncol = source.Columns.Count
f = "=SUM(R" & source.Row & "C:R" & source.Row + source.Rows.Count - 1 & "C)"
For i = 1 To source.Rows.Count
  For j = 1 To ncol
  If t(i, j) <> "" Then t(i, j) = f
Next j, i
Application.EnableEvents = False
source.Offset(decal).FormulaR1C1 = t
Application.EnableEvents = True
End Sub
C'est très rapide, même sur un très grand tableau.

A+
 

Pièces jointes

  • Classeur2(1).xlsm
    18.8 KB · Affichages: 60

job75

XLDnaute Barbatruc
Re,

Bien entendu on peut supprimer les formules :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim source As Range, decal&, t, ncol%, f$, i&, j%
Set source = [B2:F4] '1er tableau, à adapter
decal = 4 'décalage pour définir le 2ème tableau, à adapter
t = source 'matrice, plus rapide
ncol = source.Columns.Count
f = "=SUM(R" & source.Row & "C:R" & source.Row + source.Rows.Count - 1 & "C)"
For i = 1 To source.Rows.Count
  For j = 1 To ncol
  If t(i, j) <> "" Then t(i, j) = f
Next j, i
Application.EnableEvents = False
With source.Offset(decal)
  .FormulaR1C1 = t
  .Value = .Value 'supprime les formules
End With
Application.EnableEvents = True
End Sub
Fichier (2).

A+
 

Pièces jointes

  • Classeur2(2).xlsm
    18.7 KB · Affichages: 54

Discussions similaires

Statistiques des forums

Discussions
312 109
Messages
2 085 384
Membres
102 878
dernier inscrit
asmaa