VBA / Excel - Mise à jour de graphique
Nicolas
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai créé un fichier excel pour du reporting au travail.
J'ai huit courbes sur une feuille.
Chaque semaine je l'ai met à jour c'est à dire que pour chaque série de chaque courbe je reselectionne les données afin d'avoir toujours une plage de 20 données.
J'ai réussi à faciliter cette mise à jour grâce à une macro. Je me suis enregistré pendant que je changer mes données. Maintenant en faisant du contrôle + F et en remplaçant B45 par B46 par exemple je modifie tout.
Seulement maintenant je voudrais compléter la macro de façon à taper 46 dans une case et que le changement soit automatique.
Si quelqu'un à des suggestions.....
Merci d'avance
J'ai créé un fichier excel pour du reporting au travail.
J'ai huit courbes sur une feuille.
Chaque semaine je l'ai met à jour c'est à dire que pour chaque série de chaque courbe je reselectionne les données afin d'avoir toujours une plage de 20 données.
J'ai réussi à faciliter cette mise à jour grâce à une macro. Je me suis enregistré pendant que je changer mes données. Maintenant en faisant du contrôle + F et en remplaçant B45 par B46 par exemple je modifie tout.
Seulement maintenant je voudrais compléter la macro de façon à taper 46 dans une case et que le changement soit automatique.
Si quelqu'un à des suggestions.....
Merci d'avance
A voir également:
- VBA / Excel - Mise à jour de graphique
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Mise en forme conditionnelle excel - Guide
- Mise a jour chromecast - Accueil - Guide TV et vidéo
- Liste déroulante excel - Guide
1 réponse
Bonjour,
A la place de vba tu peux te faire un graphique dynamique en définissant tes plages dans des noms (avec decaler() ) et en utilisant ces noms dans la définition de la serie().
Ex:
Si tu sélectionnes une courbe tu lis dans la barre de formule :
=SERIE(Feuil1!$B$1;Feuil1!$A$2:$A$23;Feuil1!$B$2:$B$23;1)
On va redéfinir Feuil1!$A$2:$A$23 en dynamique et le nommer dates
et Feuil1!$B$2:$B$23 en le nommant val1
'insertion / noms / définir...' puis :
'nom dans le classeur' : dates 'fait référence à' : =DECALER(Feuil1!$A$1;NBVAL(Feuil1!$A:$A)-20;0;20;1)
cliquer sur ajouter
'nom dans le classeur' : dates 'fait référence à' : =DECALER(Feuil1!$B$1;NBVAL(Feuil1!$B:$B)-20;0;20;1)
tu sélectionne ta courbe dans le graphique et dans l'édition des formules tu remplaces les plages par leur nom pour obtenir :
=SERIE(Feuil1!$B$1;Feuil1!dates;Feuil1!val1;1)
(bien mettre le nom de la feuille Feuil1 ayant les données)
qu'excel transforme en :
=SERIE(Feuil1!$B$1;'Graph Dynamique.xls'!dates;'Graph Dynamique.xls'!val1;1)
Dès que tu ajoutes une donnée elle est prise en compte, et le graphique se limite aux 20 dernières données.
exemple
eric
A la place de vba tu peux te faire un graphique dynamique en définissant tes plages dans des noms (avec decaler() ) et en utilisant ces noms dans la définition de la serie().
Ex:
Si tu sélectionnes une courbe tu lis dans la barre de formule :
=SERIE(Feuil1!$B$1;Feuil1!$A$2:$A$23;Feuil1!$B$2:$B$23;1)
On va redéfinir Feuil1!$A$2:$A$23 en dynamique et le nommer dates
et Feuil1!$B$2:$B$23 en le nommant val1
'insertion / noms / définir...' puis :
'nom dans le classeur' : dates 'fait référence à' : =DECALER(Feuil1!$A$1;NBVAL(Feuil1!$A:$A)-20;0;20;1)
cliquer sur ajouter
'nom dans le classeur' : dates 'fait référence à' : =DECALER(Feuil1!$B$1;NBVAL(Feuil1!$B:$B)-20;0;20;1)
tu sélectionne ta courbe dans le graphique et dans l'édition des formules tu remplaces les plages par leur nom pour obtenir :
=SERIE(Feuil1!$B$1;Feuil1!dates;Feuil1!val1;1)
(bien mettre le nom de la feuille Feuil1 ayant les données)
qu'excel transforme en :
=SERIE(Feuil1!$B$1;'Graph Dynamique.xls'!dates;'Graph Dynamique.xls'!val1;1)
Dès que tu ajoutes une donnée elle est prise en compte, et le graphique se limite aux 20 dernières données.
exemple
eric