Afficher les 10 dernières valeurs sur un graphique

sj4555

XLDnaute Junior
J'ai un certain nombre de données provenant d'une requête vers une source externe (en l'occurrence d'une liste SharePoint), et j'aimerais afficher les 10 dernières données reçues dans un graphique,

Pour ce faire je créé un nom associé à une plage en utilisant les fonctions DECALER et NBVAL, et je fais appel à cette plage dans le graphique,

A priori ça fonctionne, le problème c'est qu'avant ça j'utilise des macros pour réaliser du traitements sur les données de la requêtes, et à chaque fois que je lance ces macros la taille de la plage diminue et ainsi le nombre de points affichés sur mon graphique,

La plage à laquelle je fais appel pour l'axe des X :
VB:
=DECALER('SSA1'!$A$2;;;NBVAL('SSA1'!$A$2:$A$11))
Là en principe je sélectionne les 10 dernières valeurs de la colonne correspondante

La plage à laquelle je fais appel pour l'axe des y :
Code:
=DECALER('SSA1'!$E$2;;;NBVAL('SSA1'!$E$2:$E$11))
Là en principe je sélectionne les 10 dernières valeurs de la colonne correspondante

Le truc c'est qu'à chaque fois que je lance la macro le $A$11 de la formule devient un $A$10 et celui-ci devient un $A$9 et ainsi de suite même chose pour $E$11

Je pensais pourtant qu'en mettant le signe "$" avant la lettre et le numéro de chaque cellule on gardait cette cellule fixe

Enfin bref, ce que j'aimerais c'est garder ces plages fixes,
 

Pièces jointes

  • test - Copie.xlsm
    199.4 KB · Affichages: 8

sj4555

XLDnaute Junior
Je tiens à préciser que cette macro supprime des lignes dans le tableau,

par exemple à l'exécution de la macro la ligne 9 est supprimée, la ligne de la cellule A11 devient donc la ligne de la cellule A10, car celle-ci remonte d'un cran après suppression de la ligne 9, et la plage prend bien en compte cette suppression de ligne

Le problème c'est que je ne veux pas que la suppression de ligne soit prise en compte par la plage, je veux que la cellule A11 reste la cellule A11 même si celle-ci doit changer de valeur, c'est le principe même de ce que je veux faire !
 

sj4555

XLDnaute Junior
J'ai résolu le problème en ajoutant ces 2 lignes dans chaque macro concernée (en adaptant en fonction du nom de la feuille), elles permettent d'à chaque fois modifié les plages concernée avec les bonnes valeurs :

Names("DateSSA4").RefersToR1C1 = "=SSA4!R2C1:R11C1"
Names("DebitSSA4").RefersToR1C1 = "=SSA4!R2C5:R11C5"
 

Discussions similaires

Statistiques des forums

Discussions
311 708
Messages
2 081 750
Membres
101 812
dernier inscrit
trufu