MAJ automatique graphique Excel avec données à l'horizontal
John75-3
-
John 75-3 -
John 75-3 -
Bonjour à tous,
Après plusieurs recherches sur le net et sur CCM, j'ai trouvé une solution pour mettre à jour automatiquement un graphique Excel au fur et à mesure que j'ajoute des données. Voici la fonction sur laquelle je me base : =DECALER(A1;0;0;NBVAL($A:$A)-1)
Je lie ensuite les données de mon graphique avec mes formules et la MAJ se fait automatiquement.
Le problème c'est que cela fonctionne très bien si mes données sont inscrites verticalement. Par exemple, en A1, je mets MOIS et en A2 je mets CA. Si j'inscris les données correspondantes en-dessous de chacune de ces deux cellules, le graphique se met parfaitement à jour. En revanche, si je mets mes données à l'horizontal, cela ne fonctionne plus du tout. Peu importe les modifications que j'effectue dans la formule, le graphique reste "bloqué" sur un traitement vertical.
Dans la formule, j'ai tenté de remplacer cette partie ($A:$A) par ($3:$3) en me disant que le balayage s'effectuerait par ligne et non plus par colonne. Hors, cela ne fonctionne toujours pas.
Est-ce que quelqu'un aurait une solution SVP ? Cela m'aiderait beaucoup à traiter une base existante.
Un grand merci,
John
Après plusieurs recherches sur le net et sur CCM, j'ai trouvé une solution pour mettre à jour automatiquement un graphique Excel au fur et à mesure que j'ajoute des données. Voici la fonction sur laquelle je me base : =DECALER(A1;0;0;NBVAL($A:$A)-1)
Je lie ensuite les données de mon graphique avec mes formules et la MAJ se fait automatiquement.
Le problème c'est que cela fonctionne très bien si mes données sont inscrites verticalement. Par exemple, en A1, je mets MOIS et en A2 je mets CA. Si j'inscris les données correspondantes en-dessous de chacune de ces deux cellules, le graphique se met parfaitement à jour. En revanche, si je mets mes données à l'horizontal, cela ne fonctionne plus du tout. Peu importe les modifications que j'effectue dans la formule, le graphique reste "bloqué" sur un traitement vertical.
Dans la formule, j'ai tenté de remplacer cette partie ($A:$A) par ($3:$3) en me disant que le balayage s'effectuerait par ligne et non plus par colonne. Hors, cela ne fonctionne toujours pas.
Est-ce que quelqu'un aurait une solution SVP ? Cela m'aiderait beaucoup à traiter une base existante.
Un grand merci,
John
A voir également:
- MAJ automatique graphique Excel avec données à l'horizontal
- Liste déroulante excel - Guide
- Réponse automatique thunderbird - Guide
- Trier des données excel - Guide
- Logiciel de sauvegarde automatique gratuit - Guide
- Changer carte graphique - Guide
6 réponses
Bonjour,
Tout est dans la définition des arguments de Decaler.
DECALER(référence;décalageNbLignes;décalageNbColonnes;hauteur;largeur)
Hauteur=1
Largeur =NBVAL($3:$3)-1
=DECALER(A1;0;0;1;NBVAL($3:$3)-1)
Tout est dans la définition des arguments de Decaler.
DECALER(référence;décalageNbLignes;décalageNbColonnes;hauteur;largeur)
Hauteur=1
Largeur =NBVAL($3:$3)-1
=DECALER(A1;0;0;1;NBVAL($3:$3)-1)
La solution la plus simple serait de passer par un tableau auxiliaire qui compile les données x et y hors #NA.
Merci pour la réponse !
Si je comprends bien, il faudrait, en gros, faire un tableau intermédiaire qui traiterait les #NA du tableau source et renverrait une autre valeur telle que 0 par exemple ?
Du coup, je n'aurais plus qu'à modifier la formule en la basant sur ce tableau intermédiaire. Puis, lui demander de les exclure lors de la MAJ automatique du graphique ?
Si c'est ça, je suppose qu'il faut ajouter "<>0" à la place de -1 ? (guillemets comprises)
Il y a peut-être une solution plus simple ?
Merci encore,
John
Si je comprends bien, il faudrait, en gros, faire un tableau intermédiaire qui traiterait les #NA du tableau source et renverrait une autre valeur telle que 0 par exemple ?
Du coup, je n'aurais plus qu'à modifier la formule en la basant sur ce tableau intermédiaire. Puis, lui demander de les exclure lors de la MAJ automatique du graphique ?
Si c'est ça, je suppose qu'il faut ajouter "<>0" à la place de -1 ? (guillemets comprises)
Il y a peut-être une solution plus simple ?
Merci encore,
John
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Avec une feuille horizontale vous comprendrez mieux le procédé et les formules pour adapter à vos références.
http://www.cjoint.com/c/FDzlAeR0iGF
Avec une feuille horizontale vous comprendrez mieux le procédé et les formules pour adapter à vos références.
http://www.cjoint.com/c/FDzlAeR0iGF
Merci Tontong. Oui, effectivement c'est la différence que j'ai constatée. En tout cas, ça fonctionne. Il me reste un dernier détail.
En fait, pour être parfaitement clair, je souhaite comparer les performances des ventes de plusieurs marques sur différentes semaines (S1, S2 etc.). Je compare chaque marque au total marché (exprimé en points de PDM). Du coup, cela donne un graphique, type aire, qui comporte 3 variables.
Dans la fonction que vous me donnez, je peux remplacer manuellement les 1, 2, 3 par S1, S2 etc. ou alors lier les données du graphique avec une autre plage comprenant ces informations. Mais du coup, ça ne marche plus.
Evidemment, je ne peux pas laisser 1, 2, 3 à la place de S1, S2, S3. Mon entreprise ne voudra pas.
Est-ce qu'il existerait une solution ?
Merci encore, ça m'aide beaucoup.
En fait, pour être parfaitement clair, je souhaite comparer les performances des ventes de plusieurs marques sur différentes semaines (S1, S2 etc.). Je compare chaque marque au total marché (exprimé en points de PDM). Du coup, cela donne un graphique, type aire, qui comporte 3 variables.
Dans la fonction que vous me donnez, je peux remplacer manuellement les 1, 2, 3 par S1, S2 etc. ou alors lier les données du graphique avec une autre plage comprenant ces informations. Mais du coup, ça ne marche plus.
Evidemment, je ne peux pas laisser 1, 2, 3 à la place de S1, S2, S3. Mon entreprise ne voudra pas.
Est-ce qu'il existerait une solution ?
Merci encore, ça m'aide beaucoup.