Fonction =DECALER pour graphique évolutif sans macro [Résolu/Fermé]

Signaler
Messages postés
34
Date d'inscription
vendredi 16 mai 2014
Statut
Membre
Dernière intervention
27 mai 2014
-
Messages postés
2368
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
8 octobre 2020
-
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

Messages postés
9578
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
12 octobre 2020
1 921
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
45
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
Messages postés
2368
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
8 octobre 2020
879
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.
Messages postés
34
Date d'inscription
vendredi 16 mai 2014
Statut
Membre
Dernière intervention
27 mai 2014
2
Bonjour,
Je viens de voir votre commentaire ! J'ai donc utilisé la fonction NB tout simplement !

Merci beaucoup !
Messages postés
34
Date d'inscription
vendredi 16 mai 2014
Statut
Membre
Dernière intervention
27 mai 2014
2
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
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
45
Non ça vient du NBVAL()

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

Merci beaucoup !
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
45
C'est bizarre la NB devrait renvoyé à la même valeur que NBVAL
Messages postés
34
Date d'inscription
vendredi 16 mai 2014
Statut
Membre
Dernière intervention
27 mai 2014
2
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.
Messages postés
2368
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
8 octobre 2020
879
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.