Inserire Grafico su Userform



  • Inserire Grafico su Userform
    di beppexile data: 06/09/2016 16:07:36

    Salve ragazzi, vorrei creare sul momento e poi inserire in una userform un piccolo grafico dove visualizzare l'andamento del calo peso del prodotto selezionato.

    Ho fatto un giro su internet, ed ho trovato solo qualcuno che lo avevo fatto creandolo prima su excel nella maniera tradizionale, poi creava una immagine e lo caricava si userform.

    Non esiste uno strumento già pronto da inserire nella userform, dove dargli le informazioni per creare il grafico senza fare tutto quel giro?



  • di alfrimpa data: 07/09/2016 14:02:40

    Ciao Beppe

    In uno dei miei tanti testi sul VBA ricordo di aver visto qualcosa del genere ma ora sono in vacanza.

    Appena rientro cerco e, nel caso, ti riferisco.

    Alfredo





  • di beppexile data: 07/09/2016 15:37:25

    Grazie Alfredo, buone vacanze.



  • di Marius44 data: 07/09/2016 17:12:52

    Ciao Beppe
    qualche tempo fa, girovagando per la rete, ho acquisito (non presi la fonte e di ciò mi scuso) il file che ti allego. Non credo faccia esattamente al caso tuo ma può essere un buon aiuto. Tieni, comunque, presente che "disegnare" su una Form è veramente difficoltoso.

    Ciao,
    Mario



  • di alfrimpa data: 07/09/2016 18:19:42

    Ciao Mario

    Non posso vedere il tuo file perchè non ho il pc; credo che Beppe voglia un grafico che si aggiorna al variare di parametri presenti sulla form.

    Devo verificare se l'esempio che ricordo opera in tal modo.

    Il tuo file funziona così?

    Alfredo





  • di Marius44 data: 07/09/2016 19:14:52

    Ciao Alfredo

    come ho detto è abbastanza difficoltoso "disegnare" su una Form.
    Forse sarebbe meglio creare e gestire il Grafico su un foglio e, dinamicamente, mostrarlo sull'interfaccia.

    Goditi gli ultimi spiccioli di vacanza.
    Ciao,
    Mario



  • di alfrimpa data: 07/09/2016 19:26:14

    Cit. "Goditi gli ultimi spiccioli di vacanza"

    Oggi una giornata di pioggia

    Alfredo





  • di beppexile data: 08/09/2016 08:09:11

    Grazie Mauris44, ma purtroppo non è quello che cerco.
    Alfredo ha centrato l'obiettivo.

    Fai conto che su una userform ho una listbox con dei parametri di peso, date di lavorazione, ecc., e ad ogni click su un item della lista, mi si deve generare un semplice grafico a linee, proprio come quelli di excel.
    In pratica vorrei evitare che l'utente, per visionare l'andamento del lotto in questione, esca o minimizzi a userform per andare sul foglio; diciamo che il foglio di excel l'utente non lo deve neanche immaginare (infatti il mio file lavora sutto su userform).

    Speravo che esistesse un oggetto o un libreria da caricare.
    La ricerca su google non mi ha dato grandi cose, magari sbaglio a cercare.



  • di beppexile data: 08/09/2016 08:16:15

    Stamani, forse, mi sono svegliato con il piede giusto.

    Ho trovato questo: h t t p://ennius.altervista.org/vba/vba117.php

    Forse ho trovato quello che cercavo.



  • di beppexile data: 08/09/2016 09:26:10

    Dunque, ho un problema:

    - ho installato il file ocx in system32
    - ho selezionato i riferimento Microsoft Chart Control 6.0 (OLEDB)
    - ho aggiunto lo strumento correlato

    solo che, quando tento di mettere lo strumento su una userform, mi appare il seguente messaggio di errore:
    "Il soggetto non è autorizzato a eseguire l'azione specifica"

    Ho cercato su internet una soluzione invano.
    Idee sulle possibili cause?

    Devo aggiungere qualche altro riferimento o dll?



  • di Albatros54 data: 08/09/2016 11:39:30

    Cit..."ho installato il file ocx in system32 "
    hai seguito la procedura giusto registrandolo con REGSVR32 ?(vedi questo link h t t p s://www.ocxme.com/how-to-register-ocx.php)
    se il tuo sistema operativo è a 64 bit ,ti consiglio di registrarlo anche nella dir SysWOW64.
    Ricordati che per registrare una dll o ocx devi avere i privilegi dell'amministratore del sistema





  • di beppexile data: 08/09/2016 12:54:15

    Installato e registrato da amministratore.
    Ho anche riavviato il pc.
    Ho Win7 32 bit.
    Ho installato anche un programma per riparare il registro ma niente da fare.
    La cosa strana è che in "Riferimenti" la libreria non appare; per selezionarla devo fare sfoglia e scegliere il file ocx.
    Lo strumento invece appara sempre nella lista.



  • di Albatros54 data: 08/09/2016 13:35:35

    Scusa,per inserire il controllo nella userform, devi inserire una userform da VBA, dopo apri Casella degli strumenti , se non vedi il controllo "ChartSpace", tra le icone , lo devi aggiungere alla casella dei controlli, tasto DX del mouse controlli aggiuntivi , e vai a cercare il controllo, a questo punto, se il controllo è nella Casella degli Strumenti , lo aggiungi alla userform,.
    Se fai questi passaggi drovesti avere il controllo nella userform.





  • di beppexile data: 08/09/2016 13:57:03

    Dunque, nella lista dei controlli, quello che ho aggiunto non si chiama ChartSpace, ma:
    "Microsoft Chart Control, version 6.0 (OLEDB)
    e come posizione mi da:
    c:windowssystem32mschrt20.ocx
    una volta aggiunto alla casella strumenti, lo chiama MSChart

    ChartSpace non lo trovo!

    Non è che ci sia un problema di compatibilità con Excel 2013?



  • di Albatros54 data: 08/09/2016 14:44:19

    Non ha importanza come lo chiama, l'importante è che tu lo vedi nella casella degli strumenti.
    dai uno sguardo a questo video, ti puo essere utile:
    h t t p s://www.youtube.com/watch?v=qRDQ5UtTqj8





  • di beppexile data: 08/09/2016 14:57:28

    Il video è sicuramente utile, ma purtroppo sono fermo al trascinamento dello strumento sulla userform: in quel punto ricevo l'errore.



  • di Albatros54 data: 08/09/2016 18:56:28

    Cit..."La cosa strana è che in "Riferimenti" la libreria non appare; per selezionarla devo fare sfoglia e scegliere il file ocx. "
    Scusa se insisto, la dll o ocx lo hai installato lanciando il programma REGSVR32,perchè da quello che leggo, la libreria sembra che non sia stata installata, anche se tu la vedi nella dir system32.
    Vedi questo forum:
    h t t p ://www.sciax2.it/forum/guide-release/come-far-registrare-i-file-ocx-windows-7-vista-xp-200146.html





  • di beppexile data: 09/09/2016 08:33:00

    Cit.: Vedi questo forum:
    h t t p ://www.sciax2.it/forum/guide-release/come-far-registrare-i-file-ocx-windows-7-vista-xp-200146.html

    Ho eseguito proprio quello che c'è a questo link.
    Il file era già presente nel mio sistema, quindi l'ho registrato con REGSVR32 e privilegi da amministratore, ma anche dopo averlo registrato, la libreria non appare in elenco, appare solo facendo sfoglia e selezionandola.

    Visto che non funzionava, ho scansionato e risolto tutti gli errori del regedit con un prog.
    Ho riavviato Win, ho reinstallato nuovamente il file, scaricandolo da internet, dal sito h t t p s://www.ocxme.com

    In pratica credo di averle provate tutte.

    Ti ringrazio per il tuo tempo, conosci qualche altro componente analogo per creare un grafico?



  • di alfrimpa data: 12/09/2016 11:22:06

    Ciao Beppe

    Ti ho allegato un file "Chart in userform" dove non c'è nessun particolare controllo "grafico"

    C'è solo un controllo "image" in cui viene caricata (con LoadPicture) il file .gif del grafico (che risiede su altro foglio) del quale, sempre con il codice, viene precedentemente salvato in .gif

    Spero di essermi spiegato.

    Alfredo





  • di Marius44 data: 12/09/2016 12:55:02

    Ciao Alfredo
    che poi è quello che ho detto io nel messaggio del 07/09/2016 19:14:52

    Ribadisco: è la cosa migliore. Se non si vuol far vedere il foglio col grafico lo si può nascondere.

    Ciao a tutti,
    Mario



  • di alfrimpa data: 12/09/2016 12:58:27

    Perdonami Mario ma sono rientrato oggi e mi era sfuggito il tuo post

    Alfredo





  • di beppexile data: 12/09/2016 13:04:32

    Ciao Alfredo, grazie per l'esempio, sicuramente è una valida alternativa a quello che voglio fare io.

    In pratica cercavo un controllo per il grafico tipo Microsoft Chart Control (visto che non riesco a installarlo).

    Comunque, se non trovo altro, era proprio la soluzione che avevo trovato sin dall'inizio della discussione;
    ma non la voglio applicare, preferisco un controllo (se esiste).

    Grazie a tutti



  • di alfrimpa data: 12/09/2016 13:18:29

    ma Beppe io credo che sia la cosa più semplice (quanto meno non dà tutti i problemi che hai avuto) e non credo ti dia qualcosa in meno rispetto ad un controllo "grafico" dedicato.

    Alfredo





  • di beppexile data: 13/09/2016 07:22:28

    Salve, stamani ho provato a installare il Microsoft Chart Control 6 su un'altro PC con office 2013, e mi da gli stessi problemi... sto iniziando a pensare che sia proprio un problema di incompatibilità con office 2013.

    Credo che alla fine il ragionamento di Alfredo, sia il più logico.

    Grazie