un plage qui évolue

cococh

XLDnaute Occasionnel
bonjour a tous,

j'ai une macro de trie qui éxtrait une partie d'une base de donnée et ce selon un critère, via un filtrage élaboré. de cette nouvelle base de donnée crée par le filtrage, je sort un graphique.

Problème: suivant les critères, ma seconde base de donnée à une taille variable et je suis donc obligé de redéfinir la plage d'action de mon graphique à chaque mise a jour.
Y-t-il un moyen de mettre automatiquement a jour une plage d'action ( ou un nom). J'ai pensé a plusieurs choses tel que le critère "estvide" ou encore d'avoir les limites de la plage dans de céllules sous formes de chiffre... mais rien n'à fonctionné et c'est pourquois je vous demande de l'aide!

merci d'avance.
 

jp14

XLDnaute Barbatruc
Re : un plage qui évolue

Bonjour

Une piste nommer la zone en utilisant la fonction "DECALER"
exemple :
=decaler("se positionner sur la première case";;;NBval("sélectionner la colonne")-"1 ou 2 ou en fonction de la première case";"nombre de colonnes")

=DECALER(Feuil1!$B$1;;;NBVAL(Feuil1!$B:$B)-1;2)

JP
 

cococh

XLDnaute Occasionnel
Re : un plage qui évolue

grace a ta ton aide j'ai bien une formule qui correspond a tout instant à ma plage. la voici:

=DECALER(temps1!$A$6;;;temps1!$P$5;1);DECALER(temps1!$E$6;;;temps1!$P$5;2)

mais le prob, c'est que quand j'enregistre une macro, tout marche bien la première fois, mais ensuite, la macro ne retien que la plage correspondante a cette formule à l'instant ou j'ai enregistré ma macro.

voici le VBA:

Code:
Sheets("temps1").Select
    ActiveSheet.ChartObjects("Graphique 23").Activate
    ActiveChart.PlotArea.Select
    ActiveChart.SetSourceData Source:=Sheets("temps1").Range("A6:A19,E6:F19"), _
        PlotBy:=xlColumns
    ActiveWindow.Visible = False
    Windows("calcul du taux de rebuts TOLECTRO.xls").Activate
    Range("F127").Select

Il met comme plage A6:A19,E6:F19 la ou il devrait tenir compte des "décaler".

Comment modifier ce vba pour qu'il fonctionne a tout moment?
merci a tous
 

fred65200

XLDnaute Impliqué
Re : un plage qui évolue

bonjour,

j'imagine que tu as donné un nom à ta plage dynamique. je vais l'appeler ici maPlage

Code:
Sheets("temps1").Select
    ActiveSheet.ChartObjects("Graphique 23").Activate
    ActiveChart.PlotArea.Select
    ActiveChart.SetSourceData Source:=Sheets("temps1").Range([B][COLOR=Navy]"maPlage"[/COLOR][/B]), _
        PlotBy:=xlColumns
    ActiveWindow.Visible = False
    Windows("calcul du taux de rebuts TOLECTRO.xls").Activate
    Range("F127").Select
cordialement
 

Discussions similaires

Réponses
4
Affichages
374

Statistiques des forums

Discussions
312 495
Messages
2 088 964
Membres
103 992
dernier inscrit
Christine 974