XL 2019 Intégration de Chart dans un Userform

David1902

XLDnaute Nouveau
Bonjour,

Je me présente, David. J'étais par le passé inscrit sur ce forum d'aide mais j'ai perdu mon login, donc obligé de recommencé à 0...

Je débute sou VBA et je souhaiterais savoir comment intégrer un chart dans un userform (sans cliquer sur un bouton) et que ce dernier se mette à jour en dynamique (à chaque nouvelles datas reçues, mon graphe Excel se met automatiquement à jour) et je souhaiterais que cela soit évidemment MAJ également sur le Userform...

J'ai travaillé toute l'après midi à essayer d'insérer un de mes graphiques, sur mon Userform2 mais sans succès... Pourriez-vous m'aider ?

De plus, j'étais arriveé à mettre des valeurs initiales et des intervalles d'augmentation sur 2 scrollbars, mais quand j'ai essayé de passer à plus, ça ne marche plus (fichier v2 à v3). Auriez-vous une idée pour identifier le bug ?

Vous remerciant par avance pour votre aide.

David
 

Pièces jointes

  • David.zip
    554.1 KB · Affichages: 4

Staple1600

XLDnaute Barbatruc
Bonjour et bienvenue de nouveau alors ;)

Si tu es un ancien, tu connais la musique ;)
Tu n'as pas trouvé d'exemples dans les archives du forum?
(car j'ai souvenir d'avoir lu plusieurs discussions traitant de ce sujet)

NB: Bizarrement ta discussion n'affiche aucune discussion similaire en bas de pages ???
C'est sans doute que ton titre de discussion est trop bien choisi et trop précis
(Ce n'est pas une critique mais d'habitude, il y a toujours en bas de page, un pavé Discussions similaires dans chaque discussion sur le forum.)
 

Staple1600

XLDnaute Barbatruc
RE

Pour rester dans les charts ;)
J'ai retrouver ceci dans mes archives
(le code n'est pas de ma main)
Dans un module
VB:
Option Explicit
Sub LoadForm()
frmCharts.Show
End Sub
Sub ChangeChart(ChartName As String)
Dim CurrentChart As Chart, FName$
FName = ThisWorkbook.Path & "\temp.gif"
Set CurrentChart = ThisWorkbook.Sheets("Charts").ChartObjects(ChartName).Chart
CurrentChart.Export FileName:=FName, filtername:="GIF"
frmCharts.imgChart.Picture = LoadPicture(FName)
End Sub
Dans le code de l'userform (nommé frmCharts)
Sur l'userform: un commanbutton et un controle Image
(ou sera "injectée" l'image du graphique)
VB:
Option Explicit
Private Sub cmdCharts_Click()
Call ChangeChart("AreaChart")
End Sub
Dans le classeur: une feuille nommée Charts

C'est à peu cette méthode qu'on retrouve pour traiter cette problématique
(export image du graphique d'une feuille puis import dans l'userform avec LoadPicture)
 

David1902

XLDnaute Nouveau
Bonsoir,

Merci pour l'ensemble de vos réponses. J'ai réussi à mettre en place le code de Staple1600 mais avec une action d'un bouton du coup. En fait, je cherchais à obtenir ce résultat sans bouton. Après, pourquoi pas, si ce chart pouvait automatiquement se mettre à jour (ou toutes les 5 s par exemple). J'ai vu un exemple ici :

https://youtu.be/ZoJ0tLBP65I

J'ai également toujours mes bugs mais je vais essayer d'en identifier les causes. A suivre, j'aurais sans doute toujours besoin de support pour cette première conception de débutant.
 

David1902

XLDnaute Nouveau
Bonsoir,

J'ai récupéré le fichier source (en PJ) qui demande l'utilisation des 2 fichiers OCX joints également. Je viens de passer la soirée à essayer de comprendre comment cela marchait mais vu que je débute je vois pas comment transposer cela à mes graphes...

Comment faire comme ce code pour que la MAJ des données de la feuilles en dynamique apparaissent sur mes chart en live ?

Merci d'avance
 

Pièces jointes

  • example.zip
    425.4 KB · Affichages: 1

Discussions similaires

Statistiques des forums

Discussions
312 926
Messages
2 093 672
Membres
105 781
dernier inscrit
Dominique G.