Fonction =DECALER pour graphique évolutif sans macro

Résolu/Fermé
ElodieCH
Messages postés
34
Date d'inscription
vendredi 16 mai 2014
Statut
Membre
Dernière intervention
27 mai 2014
- Modifié par ElodieCH le 16/05/2014 à 09:56
tontong
Messages postés
2523
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
12 août 2022
- 16 mai 2014 à 17:22
Bonjour,

Je suis nouveau membre du forum, je consulte régulièrement les posts depuis quelques années, cela m'aide énormément ! Merci à la communauté !

Depuis trois jours, je cherche un coup de pouce pour résoudre mon problème Excel, je ne dois pas être très loin de la solution mais j'aurais besoin d'un peu d'aide encore !

Voilà, je travaille sur Excel 2007, je souhaite créer un graphique évolutif sans macro. J'ai donc renommé les plages de données, et dans le gestionnaire des noms, j'ai lié à ces plages de données une référence à la fonction =DECALER (que je ne maitrise pas encore assez pour trouver toute seule la solution!).

Ensuite je sélectionne les plages de données de mon tableau et j'insère un graphique en courbes.

En sélectionnant la série du graphique, je change dans la formule les numéros de cellule par les noms des plages de données.

Je me suis fais la main sur un petit tableau simple, pour comprendre les exemples donnés dans d'autres forums, avec deux colonnes : colonne 1 --> mois, et colonne 2 --> un chiffre d'affaires. Et cela fonctionne ! Le graphique n'affiche que les mois qui renvoient à un CA, et lorsque je rajoute des nombres dans le tableau, le graphique s'actualise.

Sauf que quand je veux appliquer cet exemple à mon cas particulier, je rencontre un problème au niveau de la fonction =DECALER.

En fait, mon tableau n'est pas en colonnes mais en lignes. C'est-à-dire que les mois sont sur la ligne 1 et le chiffre d'affaires et sur la ligne 2. Du coup, dans la formule =DECALER, je suis un peu perdue, je n'arrive pas à trouver comment indiquer qu'il faut se décaler horizontalement (sur les lignes mois et CA) et non plus verticalement.

Je vois que je suis bavarde, j'espère que c'est clair !

Merci pour vos coups de pouce ;)

ElodieCH

4 réponses

ccm81
Messages postés
10419
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
17 août 2022
2 306
Modifié par ccm81 le 16/05/2014 à 13:56
Bonjour

La syntaxe
DECALER(cellule_origine;nb_lignes_decalage;nb_colonnes_décalage;nb_lignes_plage;nb_colonnes_plage)

Exemple
=DECALER(Feuil1!$B$3;2;3;4;5)
définit la plage
- à partir de la cellule $B$3
- en décalant l'origine (de la future plage)
- de 2 lignes
- de 3 colonnes
- qui va contenir
- 4 lignes
- 5 colonnes

Soit ici, la plage E5:I8

Cdlmnt
2
skk201
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
55
16 mai 2014 à 13:20
Bonjour

Sauf erreur votre formle doit resemblé à ça :

Pour sélectionner la colonne A :

DECALER(0;0;NBVAL(A:A))
(ou qqchose comme ça)

Pour avoit le même effet mais avec une ligne :

DECALER(0;0;0;NBVAL(2:2))
(Pour sélectionner les valeurs sur la ligne 2)

Si vous avez plus des question vous pouvez me montrer votre formule ou mettre votre fichier exemple sur cjoint.com

Merci
1
tontong
Messages postés
2523
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
12 août 2022
1 036
16 mai 2014 à 16:28
Bonjour,
Utilisez la fonction NB (elle ne compte que les nombres) à la place de NBVAL qui compte les cellules non-vides.
On pourrait aussi utiliser NB.SI.
1
ElodieCH
Messages postés
34
Date d'inscription
vendredi 16 mai 2014
Statut
Membre
Dernière intervention
27 mai 2014
2
16 mai 2014 à 16:32
Bonjour,
Je viens de voir votre commentaire ! J'ai donc utilisé la fonction NB tout simplement !

Merci beaucoup !
0
ElodieCH
Messages postés
34
Date d'inscription
vendredi 16 mai 2014
Statut
Membre
Dernière intervention
27 mai 2014
2
16 mai 2014 à 16:16
Bonjour,

Merci beaucoup pour votre aide ! Cela m'a aidé à comprendre l'utilisation de la fonction DECALER ! J'ai trouvé mon erreur !

Mais quand un problème se débloque un autre apparait !

Maintenant, j'ai un soucis au niveau de mon graphique dynamique. Normalement, les mois dont le chiffre d'affaires n'est pas renseigné n'apparaissent pas sur le graphique. Sauf que là, les mois apparaissent avec un chiffre d'affaires à 0. Je pense que le problème vient du fait que mes cellules ne comporte pas de résultat mais elles comportent une fonction =SI() qui affiche "", c'est-à-dire rien.

Est-ce que le problème vient de là selon vous ? Avez-vous une idée pour me débloquer ?

Merci beaucoup de m'aider,

ElodieCH
0
skk201
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
55
Modifié par skk201 le 16/05/2014 à 16:28
Non ça vient du NBVAL()

Remplassez le NB val par
NB.SI(2:2;">0") 
(pour la ligne 2)
0
ElodieCH
Messages postés
34
Date d'inscription
vendredi 16 mai 2014
Statut
Membre
Dernière intervention
27 mai 2014
2
16 mai 2014 à 16:31
Super ! J'ai réussi ! J'ai utilisé la fonction la plus simple, la NB!

Merci beaucoup !
0
skk201
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
55
16 mai 2014 à 17:02
C'est bizarre la NB devrait renvoyé à la même valeur que NBVAL
0
ElodieCH
Messages postés
34
Date d'inscription
vendredi 16 mai 2014
Statut
Membre
Dernière intervention
27 mai 2014
2
16 mai 2014 à 17:17
NBVAL renvoie les cellules contenant une valeur, tandis que NB renvoie les cellules contenant un nombre. Du coup, les cellules qui sont vides mais qui contiennent une formule sont renvoyées par NBVAL (valeur rien), mais ne le sont pas par NB puisqu'elle ne contiennent pas de nombre.
0
tontong
Messages postés
2523
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
12 août 2022
1 036
16 mai 2014 à 17:22
Non une cellule qui contient une formule qui renvoie un texte vide n'est pas vide et NBVAL la compte pour 1 alors que NB ne la compte pas.
0