Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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,

Non, la ligne est toujours continue aux mauvais endroits
 

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 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

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

pour la charte,
Je n'avais pas lu que les PJ étaient obligatoires ou fortement encouragées , 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…