Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/02/2011, 14h41   #1
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 148
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 148
Points : 35
Points : 35
Par défaut Modification automatique de l'échelle d'un graphique

Bonjour à tous,

Je souhaiterais savoir s'il est possible de modifier automatiquement l'échelle d'un graphique (style "Nuage de points") en fonction des bornes de l'un de ses axes.

Concrètement, je souhaite visualiser l'évolution d'une grandeur (g) en fonction du temps, pour une certaine durée (D).

J'ai réalisé une fonction qui me remplit un tableau à 2 colonnes (une pour D et une pour g). D peut aller de 0 à 15 ans (par exemple). Je rentre une durée d totale d'expérience dans une cellule à part. Une fonction calcule g pour chacune des années de 0 à d; cette fonction inscrit la valeur de g dans la colonne prévue pour les années de 0 à d, puis 0 au-delà de d.

Je crée donc un graphique avec D en abscisse et g en ordonnée à partir des deux colonnes précédemment remplies.

Malheureusement, systématiquement, quelque soit la valeur de d, Excel crée un graphique avec des valeurs d'abscisses allant de 0 à D (15 ans dans mon cas), ce qui me donne un graphique avec des valeurs à 0 à partir des valeurs supérieures à d.


Je souhaiterais faire en sorte que le graphique s'adapte à ma durée d'expérience et prennent en compte la valeur d comme valeur maximale des abscisses.

Je vous joins le fichier exemple qui illustrera ce que je viens d'expliquer.

Je vous remercie par avance pour vos réponses.
Fichiers attachés
Type de fichier : xls Echelle graphique.xls (17,5 Ko, 2 affichages)
Yvanou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 14h51   #2
Membre Expert
 
Femme
Ingénieur développement logiciels
Inscription : juin 2007
Messages : 480
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France, Ain (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : juin 2007
Messages : 480
Points : 1 024
Points : 1 024
Bonjour,
L'adaptation se fait bien si tu supprimes le contenu des cellules de A6 à B17...
Je vois donc deux manières de faire : soit ne pas alimenter les lignes inutiles, soir changer par macro la source des données du graphe, tout dépend de l'utilisation qui sera faite de la feuille de calcul.
tedo01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 15h13   #3
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 148
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 148
Points : 35
Points : 35
Bonjour et merci pour cette réponse rapide,

Ta première solution me conviendrait. Mais comment ne "pas alimenter les cellules inutiles" ? A chaque fois, Excel considère les cellules vides comme égales à zéro.

Dans le second cas, comment modifier par macro les données du graphique ?
N'existe-t-il pas un outil "mise en forme conditionnelle" pour les graphiques ?
Yvanou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 15h32   #4
Membre Expert
 
Homme
Inscription : juillet 2007
Messages : 848
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 848
Points : 1 078
Points : 1 078
Bonjour
En mettant des zones nommées tu peux solutionner ton soucis?
Dans le bandeau en Haut
Insertion, nom, définir
Code :
=DECALER(Feuil1!$B$2;;;NB.SI(Feuil1!$B:$B;">0"))
cb_60 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 23/02/2011, 16h56   #5
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 148
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 148
Points : 35
Points : 35
Merci beaucoup cb_60, c'est exactement ce que je cherche à faire!!

Par contre, je n'ai pas tout saisi quant à la création de plages modifiables.

A quel endroit places-tu le code =DECALER(...) ?

Comment crées-tu ces plages variables ?
Yvanou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 08h03   #6
Membre Expert
 
Homme
Inscription : juillet 2007
Messages : 848
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 848
Points : 1 078
Points : 1 078
Bonjour

Le bandeau en haut ( le menu)
tu selectionne, Insertion, nom, définir.
Une fenetre s'ouvre, tu inscrit un nom pour ta zone nommée en haut de cette fenetre et en bas, tu met ta formule decaler:
Code :
=DECALER(Feuil1!$B$2;0;0;NB.SI(Feuil1!$B:$B;">0");0)
B2 - la cellule de départ.
Premier 0 ou rien - indique le nombre de lignes à déplacer si il y avait une valeur. Nombres positifs signifient déplacer vers le bas et les nombres négatifs signifient déplacer vers le haut.
Second 0 ou rien - indique le nombre de colonnes à déplacer si il y avait une valeur. Nombres positifs signifient déplacer vers la droite et les nombres négatifs signifient déplacer vers la gauche.
NB.SI(Feuil1!$B:$B;">0") - Permet de compter le nombre de cellule de la colonne B <> de 0
Troisieme 0 ou rien -Indique le nombre de colonnes de données à renvoyer si il y avait une valeur. Ce numéro doit être un nombre positif.
cb_60 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/02/2011, 08h38   #7
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 148
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 148
Points : 35
Points : 35
Bonjour,

Super merci!!

C'est le terme "bandeau" que je n'avais pas saisi

Je vais essayer ça de suite!!
Yvanou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 10h28   #8
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 148
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 148
Points : 35
Points : 35
Je viens d'essayer la méthode.

J'arrive à créer et nommer les plages. Mais lorsque je rentre les références dans les données sources, Excel me renvoie un message d'erreur indiquant qu'il y a une erreur dans ma formule ou l'affichage ne correspond pas à ce que j'attends.

Je ne comprend pas ce qui manque:

> J'ai bien nommé les plages avec la fonction DECALER(...)
> J'ai respecté la syntaxe ={"Nom_de_la_plage"}

Par ailleurs, à chaque fois que j'entre le nom de la plage dans la ligne y des données, valide et ouvre de nouveau la fenêtre "Données sources", la case y est égale à 0.

Je renvoie le fichier. Pourriez-vous m'indiquer ce qui cloche ? parce que là je sèche.
Fichiers attachés
Type de fichier : xls Echelle graphique.xls (17,5 Ko, 3 affichages)
Yvanou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 10h53   #9
Membre Expert
 
Homme
Inscription : juillet 2007
Messages : 848
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 848
Points : 1 078
Points : 1 078
re
Dans le graphique tu dois avoir en X
Code :
1
2
3
=Feuil1!Année
et en Y
=Feuil1!grandeur
cb_60 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 14h53   #10
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 148
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 148
Points : 35
Points : 35
Oki, autant pour moi, j'avais mal inscrit les noms de plage.

Merci infiniment!!
Yvanou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h16.


 
 
 
 
Partenaires

Hébergement Web