Excel fuorigriglia



  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 08/02/2013 08:19:09

    Buongiorno a tutti. E' la prima volta che scrivo in questo forum, molto interessante e curato molto bene.
    Ho una domanda da porvi.
    Ho realizzato un programmino in excel che serve ad una Azienda di infissi per realizzare preventivi sulla base di listini di finestre che vanno sia in altezza che in larghezza. Il programma legge la misura corrispondente dal listino e visualizza il relativo prezzo.
    Ora ho bisogno che, se la misura che viene inserita, è un fuorigriglia, cioè va al di fuori dei valori larghezza e altezza del listino, mi deve dare un colore rosso.
    Grazie mille.



  • di Vecchio Frac data: 08/02/2013 11:14:07

    Ciao e benvenuto.
    Io suggerisco la via più semplice, senza sapere niente del tracciato del programma: una formattazione condizionale :)
    Che versione di Excel usi? che livello di approfondimento hai di questo genere di funzioni di Excel?





  • di michelateramo46 data: 08/02/2013 11:16:29

    Io penso che tu, forse, potresti utilizzare la Formattazione Condizionale.
    Cioè, da "Formato" seleziona "Formattazione Condizionale...." e poi inserisci la condizione "il valore della cella è"---> "tra...." e "tra......": nella stringa affianco alle voci "tra..." e "tra....." devi inserire i valori che ritieni essere superiori a quelli invece rientranti nella griglia; in più, ci aggiungi il colore del Formato, che è il "Rosso", e che pure è quello che volevi tu; o, altrimenti, gli indichi il colore del carattere vale a dire "Rosso", appunto. Nel contempo, nella cella affianco o in quella sotto, riporti la seguente formula: (esempio)=SE(A1>140;"Fuorigriglia";"OK").
    Prova un po' così.
    Fa sapere se ha funzionato.
    Michela





  • di Pietro (utente non iscritto) data: 08/02/2013 21:10:19

    Grazie Mille per la risposta, uso Excel 2010.
    Come livello di funzioni ne conosco abbastanza ma è la prima volta che mi capita un problema del genere. Provero' come mi avete detto e vi daro' conferma.


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 08/02/2013 22:06:42

    Ciao Michela, sto provando a fare come mi hai detto ma non ci riesco, come formattazione condizionale tra non riesco ad inserire l'intervallo di cella che va sia in altezza che in larghezza. Ti allego l'esempio di una griglia. Questa griglia che vedi è un listino nascosto perchè il prezzo compare automaticamente in un altro foglio e quando viene scelta ad esempio la misura 900 x 1200 mi deve comparire nel foglio principale che ho chiamato preventivo il prezzo 800 pero' in rosso.



  • di micky46 (utente non iscritto) data: 11/02/2013 08:42:06

    Pietro,........ciao, buona settimana......e io ho provato a modificare quel tuo file, con il Formato Condizionale. Tenta un po' a fare qualche prova.......perché te l'ho anche allegato. Prova da quello a vedere come ho fatto, fai appunto qualche tentativo, e spero tanto che stavolta, magari!, ci siamo. Ce la metto sempre tutta per fare meglio che posso.......

    Ciao. Michela



  • di Albatros54 (utente non iscritto) data: 11/02/2013 11:53:22

    SE ho capito " la misura 900 x 1200 mi deve comparire nel foglio principale che ho chiamato preventivo il prezzo 800 pero' in rosso." quindi tu hai una cella dove compare il valore 800.Bene puoi formattare la cella o le celle con la formattazione condizionale, come fare? evidenzia la cella che conterra il valore ,ddal menu Stili, formattazione condizionale, evidenzia Nuova Regola, formatta celle che contengono,nella casella a discesa formatta solo Celle con , inserisci Valore,seleziona Maggiore o Uguale nella casella a discesa sulla destra della prima,e inserisci il valore 800(o valore a tua scelta), seleziona Formato,Riempimento e seleziona il colore rosso. Il tutto dovrebbe funzionare.Se nella cella inserisci un valore uguale o maggiore di 8008nel nostro caso), la cella si colorera di Rosso.
    Ciao
    Albatros54


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 11/02/2013 21:27:02

    Ciao ragazzi, grazie di cuore per l'aiuto che mi state dando.

    Albatros, ho fatto come tu mi dici solo che in ufficio, dove ho Office 2007 non funziona perchè mi dice che non si puo' fare la formattazione condizionale tra celle di fogli di lavoro diversi.

    A casa, dove invece ho Office 2010, funziona. Solo che vorrei farti una domanda: devo fare la formattazione condizionale cella per cella, non c'è un modo per dirgli "se il valore va da questo range ad un altro, dammi tutti questi prezzi con colore rosso?" Non so se sono stato chiaro.
    Grazie ancora a tutti.


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 11/02/2013 22:15:10

    Allora ragazzi, spero di spiegarmi bene. Ho fatto altre prove e mi sa che non va bene.

    Ho selezionato la cella nel Foglio "Preventivo" dove ho impostato la formattazione condizionale riferita al foglio "F1AR". Come suggeriva Albatros, ho fatto in modo che scegliendo la voce "maggiore o uguale di" mi compare rosso solo se il valore è quello della cella 1600 x 800 (dove il prezzo è 400 euro).
    Ebbene mi da' di colore rosso perfettamente perchè i valori della griglia che vanno in larghezza da 500 a 1500, e in altezza da 800 a 1800.

    Quale è il problema?
    Se scelgo una misura che non va fuorigriglia, ad esempio 800 x 1500 mi da' come prezzo 450 euro e me lo colora di rosso, non me lo deve colorare di rosso perchè non è un fuorigriglia.

    Spero che sono stato chiaro nell'esporre il problema, attendo un vostro aiuto.

    Grazie.



  • di Albatros54 (utente non iscritto) data: 12/02/2013 11:54:42

    Pietro, per tentativi non riesco ha capire il problema e ad indirizzarti ad una soluzione.Cerca di allegare il file , eliminando i dati sensibili , in modo da darti quache dritta in piu.
    Ciao
    Albatros54


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 12/02/2013 21:35:14

    non riesco a caricare il file, se mi date una email ve lo mando.

    Grazie



  • di Vecchio Frac data: 13/02/2013 21:19:33

    Perchè no?
    Comprimilo (zip o rar), apri una nuova risposta, scegli Allega un file e invialo.




  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 14/02/2013 21:14:25

    perchè,anche zippato, mi dice che supera le dimensioni consentite, cioè 1 mega



  • di Vecchio Frac data: 14/02/2013 21:26:11

    Allora ci sono troppi dati, sfrondalo, lascia solo il foglio utile, zippa e riprova.




  • Excel fuorigriglia
    di Langdon74 data: 16/02/2013 12:17:41

    Ho provato ad eliminare i dati e a zippare, il file diventa 1 mega ma non me lo fa mandare. Altri dati non ne posso cancellare, come posso fare?



  • di Vecchio Frac data: 17/02/2013 21:10:33

    Scrivi qui:
    staff@excelvba.it
    e vedrò di dargli un'occhiata.




  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 20/02/2013 20:57:26

    Ciao ragazzi,
    ho mandato l'email all'indirizzo indicatomi. Nessuna novita'?



  • di Vecchio Frac data: 20/02/2013 22:18:26

    Ciao Pietro,
    ho visto il file, ma non ho potuto lavorarci oggi.
    Spero domani di avere un po' di respiro.




  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 20/02/2013 22:46:35

    Ok, grazie, aspetto info in merito allora.

    Buona serata.



  • di Vecchio Frac data: 22/02/2013 10:07:48

    Allego il file di Pietro compattato (da un mega a 40 K).
    Adesso proviamo a dargli un'occhiata ;)





  • di Vecchio Frac data: 22/02/2013 18:12:59

    Nella mia somma ingenuità (oggi ne sto mettendo insieme una dietro l'altra) ho allegato un file cui mana un foglio (era nascosto e non me ne ero accorto così nel assaggio da un file all'altro me o sono perso). Tra un attimo riallego il file completo.
    Comunque dopo aver analizzato il file e le intenzioni di Pietro sono giunto alla conclusione che nella cella O36 del foglio Preventivo se inserisco la formattazione condizionale:
    La formula è : ---> =O(G36>=900;I36>=1650) [motivo sfondo Rosso]
    tutto dovrebbe funzionare come chiede Pietro.
    La formula colora quella cella di rosso se inserisco un valore che va fuori griglia (900 per larghezza e 1650 per altezza).




  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 23/02/2013 07:45:09

    Grazie mille per la risposta, ho visionato il file e così andrebbe bene.
    Nel file, pero', c'è solo l'esempio di una finestra ad un'anta.
    Io ho tanti fogli (finestra 2 ante ante, finestra a 3 ante, porta 1 anta, porta 2 ante, ecc. ecc.); ognuno di questi fogli ha fuorigriglia diversi.
    In pratica, nella cella dove deve comparire rosso devo dirgli:
    se il modello è finestra a due ante e il valore supera la griglie della finestra a due ante deve essere rosso, così anche per tutti gli altri modelli.



  • di Vecchio Frac data: 23/02/2013 08:14:38

    Bè, io purtroppo mi sono basato sul file postato che conteneva solo quell'esempio, non mi è venuto di creare ad hoc fogli ulteriori. Bisognerà ricorrere a VBA per impostare il controllo in funzione del foglio selezionato.




  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 23/02/2013 13:37:52

    Non è che mi dareste una mano, non conosco bene il Vba



  • di Vecchio Frac data: 23/02/2013 20:06:59

    Più che volentieri... ma io in questi giorni ho da fare e non posso dedicarmi.




  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 24/02/2013 11:59:15

    Grazie mille, aspettero' che ti liberi, ti ringrazio di cuore.
    Un'altra cosa: quando scegli un modello (ad esempio F1AR) la descrizione che compare nella convalida dei dati è molto piccola. Come si fa a farla comparire più grande?



  • di Textomb (utente non iscritto) data: 24/02/2013 15:09:53

    ciao Pietro.
    ho dato un'occhiata al tuo file.
    Conosco e comprendo la tua problematica.
    Presumo però che non puoi affidare la soluzione alle sole funzioni offerte da Excel senza ricorrere al VBA.
    La formattazione condizionale, per esempio, accetta valori ben precisi per colorare in rosso la cella che ha valori fuorigriglia. Ma visto che ci sono molte condizioni con valori fuorigriglia diverse in base alla tipologia dell'infisso, a mio avviso, il problema va gestito attraverso l'utilizzo del codice.
    In questo caso, ovviamente, si dovrebbe valutare la possibilità di modificare la struttura del foglio di calcolo al fine di renderlo più dinamico e meno suscettibile a errori.
    Per esempio, la tipologia dell'infisso dovrebbe essere scelta attraverso una casella combinata e non scrivere il codice. Da qui, poi si entra nella relativa tabella dei costi e, in base alle dimensioni dell'infisso, se ne estrae il costo e si verifica se la cella deve essere colorata con il fondo rosso oppure no.
    Ritengo che sia necessario ricorrere al VBA diversamente non saprei come fare...






  • di Textomb data: 25/02/2013 13:43:51

    Ho voluto esprimere meglio, allegando il file rivisto secondo la mia modestissima visione, ciò che intendevo nella mia precedente risposta...
    Ovviamente è solo un esempio e andrebbe ulteriormente lavorato e adattato alle esigenze di formattazione e quant'altro.
    Il codice può certamente essere migliorato e reso ancora più veloce e leggibile. Ma così pare che funzioni.
    Se dal foglio Preventivo si fa doppio clic si apre una userform con la richiesta dei dati che servono per costruire il preventivo e, qualora ci siano misure fuorigriglia, si colora in rosso la cella del prezzo...
    Attendo Vostre osservazioni.




  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 25/02/2013 23:15:41

    Davvero molto interessante Textbomb, grazie mille, ci lavorero' sopra e vi faro' sapere.


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 28/02/2013 18:07:24

    Stavo osservando l'ultimo file che mi hai mandato, veramente interessante: 2 domande.

    1)Il prezzo che compare deve essere arrotondato, mi spiego meglio. Ci sono dei listini (ad esempio F1AR, Fisso, ecc.) che hanno il passo di 50 mentre altri di 50. Se inserisco la misura 860 x 1268 il prezzo che devo avere è quello relativo a 900 x 1300.


    2)La maschera "Tipologia" è ottima solo che avrei necessità di inserire un altro campo in cui inserire 4 sigle: BT, PT, BI, SC.
    Naturalmente a seconda della scelta di queste sigle deve comparire solo la struttura associata, cioè se scelgo BT devo avere Fisso, F1A A/R, ecc.
    se scelto SC deve uscire solo Scorrevole 2 ante, Scorrevole 4 ante, ecc.

    Attendo un vostro aiuto, grazie mille.



  • di Textomb (utente non iscritto) data: 01/03/2013 00:37:02

    Ho letto la tua replica ma ho alcuni dubbi.
    sul primo punto.
    se hai un infisso L=840 e H=1240 deve estrarre il prezzo relativo a L=850 e H=1250 in base ai valori riportati in tabella prendere il più vicino? Se è così, nell'esempio che hai fatto prima, 860 x 1268 dovrebbe prendere il prezzo di 850 x 1250 e non 900 x 1300. Tranne che si deve sempre arrotondare x eccesso fino al valore più prossimo riportato in tabella. Come si deve interpretare?


    sul secondo punto.
    non ho capito che ripercussione hanno le sigle BT, PT, BI e SC sul foglio Preventivo.
    Cioè una volta che sulla userform Tipologia scegli, per es, BT e compare la scritta associata Fisso, poi che deve succedere? E quindi, dopo aver selezionato il codice dell'infisso dalla casella a discesa, per es, F1A A/R DX, se poi scegli la sigla BT o SC o BI, si deve estrarre il prezzo prelevandolo da tabelle diverse oppure la tabella dei prezzi resta invariata. Magari questa è solo un'indicazione che resta fine a se stessa... Potresti essere più preciso?


  • Excel Fuorigriglia
    di Pietro (utente non iscritto) data: 01/03/2013 14:45:00

    Primo punto: deve arrotondare per eccesso.

    Secondo punto: le sigle mi servono perchè, a seconda della sigla scelta, va a prendere lo sconto differente per cliente. Ad esempio: Esposito è un cliente che per la sigla BT che sta per battente ha uno sconto, mentre per SC (scorrevole) ne ha un altro.



  • di Textomb data: 01/03/2013 15:41:12

    sul primo punto ok.
    sul secondo, mi pare di capire che la gestione della scontistica in funzione del cliente la fai in un altro foglio separatamente e non è gestita dalla userform.
    A te interessa in questa fase poter inserire nella userform "Tipologia" l'informazione che si tratti di scorrevole, battente o altro tramite le sigle.
    Quello che non ho capito è in quale foglio registrare questa informazione una volta chiusa la Userform.



  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 01/03/2013 20:17:39

    Allora, per quanto riguarda la scontistica ho fatto una cosa che non mi piace che sicuramente non vi piacera'.
    Ho creato 4 fogli di lavoro con sigle Clienti-BT, Clienti-SC, ecc; se seleziono, nella userform Tipologia, la sigla BT lui va a prendere i clienti in Clienti-BT con relativo sconto e così via, mi sa che si poteva fare in altro modo ma non so come.



  • di Textomb data: 02/03/2013 13:00:33

    In effetti la gestione della scontistica potrebbe essere fatta meglio.
    In ogni caso, ho cercato di interpretare la tua esigenza e allego il file iniziale riveduto e corretto.
    Ho fatto alcuni test e mi pare che funzioni.
    Ovviamente può essere migliorato soprattutto nel codice che ho scritto visto che non ho molta esperienza ma avevo fatto cose simili in passato e pertanto mi sono cimentato.
    Prova e fammi sapere.


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 02/03/2013 13:24:28

    Grazie mille, sto facendo gia' delle prove e volevo dirti che, se seleziono BT devono uscire solo i modelli BT, se seleziono SC devono uscire solo i modelli SC, ecc.



  • di Textomb data: 02/03/2013 16:09:13

    ok. Non avevo capito a cosa servissero le sigle...
    Allora mi sa che la struttura della Useform Tipologia deve essere leggermente modificata.
    Adesso sto facendo un'altra cosina. Tra un pò ci do un'occhiata...


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 02/03/2013 16:35:48

    ok grazie, nel frattempo puoi suggerirmi dei manuali per il Vba, vorrei impararlo bene.


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 02/03/2013 16:45:47

    Ti volevo chiedere se è possibile creare un unico foglio relativo all' Anagrafica Clienti (con inserimento di nuovi clienti), dove inserire le sigle per gli sconti BT, BI, PT e SC; attenzione, lo sconto per ogni sigla potrebbe essere singolo o doppio.

    Esempio: Esposito Pietro potrebbe avere lo sconto 60 oppure lo sconto 60+15






  • di Textomb (utente non iscritto) data: 02/03/2013 17:45:45

    Per il manuale io ho utilizzato excel 2010 VBA e Macro (autore Bill Jelen) HOEPLI.
    Parte da zero. Ti porta al livello in cui sono io adesso. Non è il massimo ma inizio a muovermi. La cosa più importante però è la pratica. E sopratutto scambiare con altri che ne sanno più di te. Solo così impari davvero.
    Per le tue ulteriori esigenze sul progetto, capisci benissimo che sei partito dal dover colorare in rosso una cella fuorigriglia in base alle misure di un infisso. Poi è subentrata la sigla tipo BT, SC ecc... poi lo sconto che è diverso in base al Cliente. Ora creare un unico foglio con l'Anagrafica clienti e le sigle BT, BI, ecc... con lo sconto che può essere composto (60 + 15). Sono tutte cose senz'altro fattibili in VBA. Ci vuole solo buona volontà e tempo...


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 02/03/2013 18:17:46

    Grazie, aspetto allora info sulla modifica della Userform allora.



  • di Textomb data: 02/03/2013 20:33:53

    Adesso è tutto ok.
    Nell'Anagrafica Clienti è stata impostata la scontistica. Quindi ho eliminato tutti i fogli che non servono più.
    All'apertura della Userform devi per prima cosa scegliere quale tipo di infisso se Scorrevole, Fisso, ecc...
    In base a questo, nella casella combinata vengono estrapolati solo i codici che si riferiscono al tipo di infisso.
    La scontistica è stata gestita per rispondere anche al formato con doppio valore. Per es. 60+10
    Insomma era partita con una cosa semplice (colorare in rosso una cella e adesso ha preso la forma di un programma complesso e articolato).
    Vediamo cos'altro spunta adesso...



  • di Vecchio Frac data: 02/03/2013 20:51:58

    Meno male che Alberto c'èèèèè ^_^




  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 02/03/2013 21:02:34

    semplicemente mitici



  • di Textomb data: 02/03/2013 22:46:31

    grazie mille Vecchio Frac,
    desideravo conoscere, non appena ne avrai la possibilità, le tue osservazioni e suggerimenti su quanto da me approntato. Tutto ciò al fine di migliorare la mia tecnica di sviluppo ed acquisire così maggiori competenze.
    Te ne sarei grato.
    saluti.

    @Pietro-
    Spero che sia stato esaustivo. Finalmente...



  • di Vecchio Frac data: 03/03/2013 09:08:37

    Sto guardando il modello, è venuto bene, bravo Textomb.
    Qualche incompatibilità col mio Excel 2003 è saltata fuori, ma naturalmente se non si utilizza il file su versioni diversi di Excel non serve il test case.
    Tengo su la discussione perchè vorrei vedere un paio di dettagli :)





  • di Textomb data: 03/03/2013 10:50:02

    Perfetto. Resto in attesa...
    A presto.


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 03/03/2013 12:45:05

    ragazzi, complimenti, per me è esaustivo, non vi scoccio più. Sicuramente il mondo del Vba è molto interessante e voglio impararlo per il meglio.



  • di Textomb data: 05/03/2013 09:34:55

    @Pietro
    Non ti inibire con le eventuali ulteriori tue esigenze sul programmino. Qualora io non fossi in grado, sul forum ci sarà sempre qualcuno capace di rispondere...

    @Vecchio Frac.
    Richiamo il mio ultimo post... e resto in attesa di conoscere le tue preziose osservazioni e consigli pratici su quanto da me sviluppato per il progetto di Pietro. Questo al fine di evitare di commettere errori di impostazione per i prossimi progetti. Grazie mille.



  • di Vecchio Frac data: 10/03/2013 20:43:08

    @Textomb e Pietro
    Tutto il modellino è ben costruito.
    Funzionale, semplice. Un uso intelligente dei form per recuperare i dati di anagrafica.
    Il codice mi sembra già ottimizzato per l'uso, anche se starei attento a questi punti:
    - migliorare l'indentazione
    - commentare di più soprattutto passaggi critici

    Per calcolare lo sconto, visto che è costruito su una stringa di valori separati da più ("+"), la relativa routine si può semplificare usando Split invece del For con il controlo sul carattere "+".
    val1=split(MySc, "+")(0)
    If val1 = 0 Then val1 = Val(MySc)
    val2=split(MySc, "+")(1)
    Tre righe invece di dieci ^_^

    Bisogna poi, per progetti futuri, stare attenti a legare il codice alla formattazione di una cella (gialla in questo caso) perchè gli utenti sono in grado di compiere le nefandezze peggiori e quando si tratta di far girare i nostri programmi sono capaci di farli crashare con notevole facilità ^_^
    Mi piace l'uso inconsueto di Application.EditDirectlyInCell = False... un'idea interessante ^_^

    In complesso confermo l'impressione di un buon lavoro.
    Pietro, devi una birra a Textomb ^_^
    (...spunto io come risolta questa discussione)




  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 11/03/2013 20:03:31

    Grazie mille ragazzi, anzichè una birra, opterei per una cena.



  • di Textomb data: 11/03/2013 22:02:57

    @Vecchio Frac
    Perfetto, grazie mille amico Franz per i preziosi suggerimenti. Ne farò tesoro e li spenderò già dalle prossime applicazioni.

    @Pietro
    La cena è troppo. La birra va benissino. Dovremmo trovare un modo però per farci una birra tutti insieme. Sarebbe proprio una bella idea... Pensateci amici del Forum...


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 16/03/2013 20:35:09

    Ragazzi, sono di nuovo qui a rompervi le scatole.
    Dall'ultimo file ho notato che quando inserisco una nuova tipologia viene inserita perfettamente, pero' ho un problema. Spero di spiegarmi bene:

    nel codice vba c'è scritto questo:
    FR = Range("e" & Rows.Count).End(xlUp).Row

    cioè, da quel poco che sto iniziando a capire, trova la prima riga disponibile dal basso e riempie i campi giusto?
    Nel mio foglio non deve essere così perchè dopo le tipologie c'è una tabella che si chiama Maggiorazioni e dopo questa tabella ci sono le righe vuote.
    Ho bisogno, quindi, di inserire i dati nelle righe per la tipologia A (E36, G36, I36, M36, ecc.)
    nella tipologia B (E37, G37, I37, M37, ecc.) e così via anche per le altre tipologie.

    Mi date una mano?
    Grazie di cuore.




  • di Textomb data: 17/03/2013 01:12:55

    Siamo di nuovo qui. Pronti ad aiutarti.
    Però dovresti essere più esaustivo.
    Nel file che avevi allegato e su cui ho lavorato non c'era nessun riferimento a tabella Maggiorazioni.
    Quindi, ovviamente, non potevo tenerne conto.
    Per evitare mal funzionamenti, dovresti, laddove possibile, descrivere tutte le tue esigenze.
    Sarebbe opportuno che allegassi il file che usi. Sostituisci i tuoi dati e metti valori di fantasia.
    Inserisci un esempio completo con le maggiorazioni per tipologia A, B ecc ecc...
    Esprimi nel dettaglio le esigenze che attualmente non vengono gestite e che desideri vengano contemplate.



  • di Vecchio Frac data: 17/03/2013 11:25:25

    cit. " nel codice vba c'è scritto questo:
    FR = Range("e" & Rows.Count).End(xlUp).Row
    cioè, da quel poco che sto iniziando a capire, trova la prima riga disponibile dal basso e riempie i campi giusto? "
    ---> non è esatto... quella riga di codice ti restituisce (nella variabile chiamata FR) il numero dell'ultima riga della colonna E che contiene un valore (parte dall'ultimissima riga del foglio Excel e risale fino a incontrare la prima cella non vuota, quindi restituisce il numero di riga di quella cella). Non riempie nessun campo.

    Per il resto quoto Textomb che ormai ha capito perfettamente la mia metodologia di lavoro :)




  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 17/03/2013 12:34:26

    Ragazzi, poichè il file è grande, vi ho inviato una mail a staff con l'allegato.
    Grazie di cuore, siete grandi



  • di Vecchio Frac data: 17/03/2013 12:57:01

    Bene, però c'è il problema che lo vedo solo io e questo limita molto il campo d'azione, soprattutto perchè non posso garantire tempi di risposta ^_^
    Vedo cosa posso fare soprattutto per alleggerire il file e poterlo pubblicare qui.




  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 17/03/2013 13:01:06

    D'accordo, grazie.



  • di Vecchio Frac data: 17/03/2013 13:04:30

    Un file .rar di 750 KB, è tutto quello che sono riuscito a fare.
    Però il file (di 4 MB) c'è tutto ^_^





  • di Vecchio Frac data: 17/03/2013 13:08:28

    Dimenticavo il testo di Pietro nella mail.
    Io oggi pomeriggio ho un impegno con i miei bambini, spero stasera di avere del tempo per dedicarmi.
    Nel frattempo togliamo la spunta su Risolta :)

    "Come richiesto invio in allegato il file sul quale sto lavorando.
    Ho necessità di fare le seguenti modifiche:
    a) Maschera Clienti: devono comparire anche i campi nelle condizioni generali del foglio Preventivo

    b) Creare Maschera "Caratteristiche Infissi" che deve riempire i seguenti campi del Foglio Preventiv:o
    - Serie: i dati li prende dal foglio "Dati" Colonna "Profilo"
    - Ferramenta: "i dati li prende dal foglio "Dati" Colonna "Ferramenta"
    - Colore: "i dati li prende dal foglio "Dati" Colonna "Colore"

    c) Maschera Tipologia: inserire anche il vetro. i vetri presenti devono essere scelti in base alla serie: cioè se nella cella G18 compare la Serie Kommerling Eurofutur MD70 allora i Vetri che devono comparire nella maschera Tipologia devono essere quelli presenti nel foglio "Dati" Colonna "V_EUROFUTURMD70".
    Invece, se nella cella G18 compare la Serie Salamander Brugmann AD70 allora i Vetri che devono comparire nella maschera Tipologia devono essere quelli presenti nel foglio "Dati" Colonna "V_BRUGMANNAD70".

    d) dopo aver inserito i dati nella maschera, quando clicco OK devono essere riempite le celle E36, G36, I36, K36, M36 per quanto riguarda la posizione A. Stessa cosa per le altre posizioni.

    e) quando faccio doppio clic sulla cella Y8 (CLIENTE) non mi compare la maschera Clienti ma mi esce il messaggio "prima scegliere un cliente", perchè?

    f) Come si fa a creare una maschera di inserimento Cliente nel foglio Cliente e mettere automaticamente i clienti in ordine alfabetico?

    Grazie di cuore, non ho parole per ringraziarvi e, soprattutto, con voi, sto imparando tante cose."





  • di Textomb data: 18/03/2013 08:44:23

    Perfetto Pietro.

    Ho scaricato il file che Vecchio Frac ha reso disponibile e gli ho dato un'occhiata.
    Prossimamente gli dedicherò del tempo.

    Giusto un paio di domande prima.

    Ho visto che nel foglio Preventivo hai inserito le POS A, B, C, ... fino alla J in un format prestabilito.
    Questo vuol dire che non ritieni verosimile considerare nella formulazione di un preventivo anche ulteriori POS. oltre alla J?
    Se è così ad ogni preventivo devono restare sempre visibili le POS fino alla J anche se alcune di esse possono restare vuote?
    Fammi capire meglio... mi serve per orientarmi con le scelte che devo intraprendere per le modifiche nella userform.

    Ho capito le integrazioni che chiedi nelle maschere sul foglio preventivo.
    Non ho invece capito se esiste una qualche gestione per la tabella Maggiorazioni da implementarsi...

    In ultimo mi chiedevo ma dopo che il preventivo viene accettato dal cliente, non sarebbe necessario archiviarlo in una tabella posta in un foglio separato con solo i dati riepilogativi...?

    Fammi sapere.
    Ciao.



  • di Vecchio Frac data: 18/03/2013 15:00:11

    Io intanto rispondo alla domanda e):
    cit. " e) quando faccio doppio clic sulla cella Y8 (CLIENTE) non mi compare la maschera Clienti ma mi esce il messaggio "prima scegliere un cliente", perchè? "
    ---> ciò accade se la cella CLIENTE (Y8) è vuota quando ci fai doppio clic sopra.




  • Excel Fuorigriglia
    di Pietro (utente non iscritto) data: 18/03/2013 17:19:57

    infatti, la maschera clienti deve comparire sia se la cella è vuota, sia se c'è il cliente.



  • di Textomb data: 19/03/2013 00:23:15

    cit.
    a) Maschera Clienti: devono comparire anche i campi nelle condizioni generali del foglio Preventivo
    Risp. Fatto.


    b) Creare Maschera "Caratteristiche Infissi" che deve riempire i seguenti campi del Foglio Preventiv:o
    - Serie: i dati li prende dal foglio "Dati" Colonna "Profilo"
    - Ferramenta: "i dati li prende dal foglio "Dati" Colonna "Ferramenta"
    - Colore: "i dati li prende dal foglio "Dati" Colonna "Colore"
    Risp. Fatto.
    Inoltre ho aggiunto il campo DK e Coperture.


    c) Maschera Tipologia: inserire anche il vetro. i vetri presenti devono essere scelti in base alla serie: cioè se nella cella G18 compare la Serie Kommerling Eurofutur MD70 allora i Vetri che devono comparire nella maschera Tipologia devono essere quelli presenti nel foglio "Dati" Colonna "V_EUROFUTURMD70".
    Invece, se nella cella G18 compare la Serie Salamander Brugmann AD70 allora i Vetri che devono comparire nella maschera Tipologia devono essere quelli presenti nel foglio "Dati" Colonna "V_BRUGMANNAD70".
    Risp. Fatto.


    d) dopo aver inserito i dati nella maschera, quando clicco OK devono essere riempite le celle E36, G36, I36, K36, M36 per quanto riguarda la posizione A. Stessa cosa per le altre posizioni.
    Risp. Fatto.
    Fai attenzione che se modifichi la struttura del preventivo, per esempio aggiungi una riga o una colonna, saltano i riferimenti che adesso sono più rigidi.


    e) quando faccio doppio clic sulla cella Y8 (CLIENTE) non mi compare la maschera Clienti ma mi esce il messaggio "prima scegliere un cliente", perchè?
    Risp. Qualcuno ha modificato il nome della cella riferito a CLIENTE e ha inserito un nome assoluto.
    Cioè valido per la cartella di lavoro. Prima era un nome valido solo per il foglio Preventivo. Per questo motivo non ha più funzionato.
    Ora ho ripristinato il meccanismo.



    f) Come si fa a creare una maschera di inserimento Cliente nel foglio Cliente e mettere automaticamente i clienti in ordine alfabetico?
    Risp. Adesso quando fai doppio clic sulla cella riferita al nome del cliente nel foglio Preventivo, visualizza l'elenco Clienti già ordinato.

    NOTA BENE
    Ho eliminato tutti i riferimenti che ho visto sul foglio preventivo tramite la convalida dati. Adesso tutti i valori vengono scelti dalle Userform.
    In effetti c'è un pò di confusione nel foglio Dati.
    Hai nominato tutti gli intervalli con dei nomi assoluti e poi li hai richiamati dal foglio Preventivo tramite la convalida dati.
    Questo procedimento però ti espone a dover di volta in volta rinominare l'intervallo quando aggiungi o elimini una voce dagli elenchi.

    Non ho avuto il tempo di testare il tutto.
    Prova tu e mi fai sapere.
    Saluti.


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 19/03/2013 07:54:47

    Ottimo, sto facendo i test.
    Ho notato i campi presenti nelle condizioni generali escono in base al cliente scelto. Non è così.
    La cosa migliore, secondo il mio modesto parere, è quella di creare un'altra maschera che compare facendo doppio clic su "Condizioni Generali" e in questa maschera saranno presenti i campi: "Acconto, Saldo, Consegna, Trasporto, Validità Offerta"

    Per quanto riguarda l'inserimento dei Clienti, è possibile creare una maschera di inserimento nuovo cliente che aggiorni poi i clienti in ordine alfabetico?



  • di Textomb data: 19/03/2013 11:05:09

    cit...
    Ho notato i campi presenti nelle condizioni generali escono in base al cliente scelto. Non è così.
    La cosa migliore, secondo il mio modesto parere, è quella di creare un'altra maschera che compare facendo doppio clic su "Condizioni Generali" e in questa maschera saranno presenti i campi: "Acconto, Saldo, Consegna, Trasporto, Validità Offerta"
    Risp.
    In effetti è proprio come hai scritto adesso. La cosa migliore è creare un'altra maschera che compare con il doppio clic su "condizioni Generali"
    Ma con il tuo intervento precedente, (vedi punto a) mi hai messo fuori strada. Comunque ora te lo sistemo e riallego il file...



  • di Textomb data: 19/03/2013 13:31:45

    Prova adesso.
    Dovrebbe essere tutto ok.
    Ma poi però mi assumi nella tua ditta...


  • Excel Fuorigriglia
    di Pietro (utente non iscritto) data: 19/03/2013 14:59:26

    Assunzione assicurata.

    Scherzi a parte, ho provato ad inserire un nuovo cliente tramite la nuova maschera di inserimento e quando clicco su ok mi da' un errore in questo codice vba:


     
    Mytable.Borders(xlEdgeTop).LineStyle = xlContinuous



  • di Vecchio Frac data: 19/03/2013 16:21:39

    cit. " quando clicco su ok mi da' un errore in questo codice vba: "
    ---> Non siate sempre così generici quando riportate un errore: indicate il numero dell'errore e la sua descrizione (quella che compare nella finestra di messaggio).
    Se l'errore che compare è "424 - Necessario oggetto", la sintassi corretta da utilizzare è questa:
    [Mytable].Borders(xlEdgeTop).LineStyle = xlContinuous
    con le parentesi quadre a racchiudere il nome del range Mytable.






  • di Textomb data: 19/03/2013 17:15:27

    Grazie del tuo intervento Vecchio Frac.
    Io non ho capito la ragione di questo errore.
    Ho provato e riprovato.
    Ho allegato il file che riporta il medesimo codice con la stessa sintassi ma stavolta perfettamente funzionante (almeno spero).
    Pare che nel file precedente ci sia come una sorta di assopimento del menù Formato Celle Bordi.
    Difatti anche se lo richiamo dal foglio Clienti manualmente non appare la finestra di dialogo.
    funziona in tutti gli altri fogli tranne nel foglio Clienti.
    Ma dirò di più.
    Appena mi sposto fuori dall'intervallo da formattare nello stesso foglio Clienti, ecco che, per magia, la finestra di diaologo del menù Formato Celle compare correttamente appena la richiami...
    Allora cosa ho fatto.
    Semplicemente un copia e incolla solo formato da un intervallo celle posto subito sotto la tabella da formattare in modo da "risvegliare" le celle della mia tabella.
    E infatti funziona. Ma solo una volta. Alla volta successiva si assopisce di nuovo. Ma che gli è preso????
    Misteri della fede...





  • di Textomb data: 19/03/2013 18:13:24

    Roba da matti.
    Credevo avessi risolto il problemino con l'ultimo file allegato la ver.03.
    Macché. Non funziona neanche questo. C'era da immaginarselo visto che le due release sono praticamente identiche. Mi si è riproposto lo stesso problema descritto prima. Eppure prima di allegarlo ho provato diverse volte e mi aveva funzionato benissimo...
    Mi sta sembrando di stare su scherzi a parte...
    Se provate a chiamare il menù formato celle da una qualsiasi cella posta all'interno della tabella da formattare vedrete che non viene fuori nulla.
    Se provate la stessa cosa da una qualsiasi cella posta fuori dalla tabella da formattare, allora funziona tutto benissimo.
    Mai vista una cosa del genere prima d'ora.



  • di Vecchio Frac data: 20/03/2013 11:26:43

    Confermo e condivido l'ammattimento di Textomb...
    la tabella definita da A3.Currentregion fino alla riga 9 è come "insensibile" al Formato Bordo... sto cercando qualsiasi strana formattazione o protezione o convalida ma non riesco a risolvere, nemmeno con copia incolla in un foglio nuovo. Appena ricopio A3:A9, zac, il problema si manifesta.




  • Excel Fuorigriglia
    di Pietro (utente non iscritto) data: 20/03/2013 11:42:58

    Ragazzi, per quanto riguarda il pulsante "Inserisci Arrotondamento", deve comparire una sola volta.
    Cioè, quando clicco su questo pulsante deve inserirmi una sola riga. Ho provato a cliccarci più volte e mi genera tante righe.



  • di Vecchio Frac data: 20/03/2013 11:51:10

    Ci sono impazzito un attimo anch'io sul problema scoperto da Textomb e ho scoperto mediante il menu Formato Stili che nella tabella incriminata (da A3 a O11 nell'originale) esiste una porzione di celle unite, nascosta e disabilitata. Ho dovuto applicare alla zona il formato Normale (perdendo stili e formattazione) ma risolvendo così la situazione.





  • di Textomb data: 20/03/2013 12:33:27

    @VF
    Non ho capito come hai fatto a pescare la porzione di celle unite, nascoste e disabilitate sulla tabella incriminata. Io non ci riesco. Da dove ci dovrei andare..?? Mi spieghi meglio. Please. Questa questione mi ha fatto impazzire. Non può essere che il file si sia in qualche modo danneggiato..? Boooh!!!!

    @Pietro
    Ma a quale pulsante ti riferisci...? Inserisci Arrotondamento? Ma non l'ho fatto questo pulsante! Da dove l'hai preso...? L'avrà fatto qualcun altro. Cos'è una macro? Spiegati meglio...

    Ragazzi ditemi la verità... Sono su scherzi a parte???



  • di Vecchio Frac data: 20/03/2013 15:23:20

    @Textomb
    Allego immagine.jpg
    Dal Menu Formato, Stili --> Modifica --> tab Allineamento
    Come vedi Unione celle è selezionato e disabilitato.
    Un vero mistero.
    L'unico modo per risolvere è applicare lo stile Normale perdendo così ogni formattazione di testo e numeri (basterà riapplicarli).
    Scherzi a parte? può darsi... allora siamo in due ^_^




  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 20/03/2013 20:11:26

    Allora, rispondo al problema sul pulsante che ho creato Inserisci Arrotondamento.

    Ho inserito, sotto la voce TOTALE PREVENTIVO, il pulsante Totale Arrotondamento, ho creato una macro che ho associato a questo pulsante. La macro deve inserirmi una nuova riga dopo imponibile e sopra iva che deve avere il campo Arrotondamento proprio sotto la voce imponibile.

    Soltanto che ogni volta che clicco su questo pulsante non fa altro che inserirmi tante righe che hanno il campo arrotondamento.


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 20/03/2013 22:28:26

    Vi prego di non tenere in considerazione il mio ultimo commento sull'Arrotondamento, è stato un mio errore. E' anche normale che ogni volta che clicco sul pulsante mi inserisce le righe, pardon.


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 21/03/2013 05:19:50

    Continuando a fare dei test ho notato che se proteggo il foglio di lavoro (con la procedura Revisione------Proteggi Foglio di Lavoro - Office 2010), ho notato che se inserisco una tipologia il programma va in debug. Potete confermarmelo anche voi? E' possibile che funzioni anche se inserisco la protezione?



  • di Textomb data: 21/03/2013 09:24:07

    Certo che va in debug.
    Se inserisci dei dati su un foglio protetto il sistema te lo impedisce. Ed è giusto che sia così.
    Per evitarlo dovresti selezionare tutte le celle coinvolte nelle modifiche nel foglio preventivo e dal menù formato deselezionare il flag "bloccato" nella protezione delle celle.
    Oppure, via codice, dovresti all'inizio della routine togliere la protezione al foglio e poi, alla fine, riscrivere la protezione.
    ActiveSheet.Unprotect ' per disattivare la protezione all'inizio della routine
    ActiveSheet.protect 'per attivare la protezione alla fine




  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 22/03/2013 20:30:50

    Ciao a tutti, sto continuando a fare test, il vostro forum è stupendo perchè grazie a voi sto imparando tante cose.
    Ho notato quanto segue:
    inserisco due infissi in posizione A e B.
    Se cancello l'infisso alla posizione A e poi lo inserisco di nuovo non me lo inserisce alla posizione A, potete verificare anche voi perchè, come faccio ad aggiustarlo?

    Inoltre vorrei creare un'altra maschera. Facendo doppio clic su Maggiorazioni mi deve comparire la relativa maschera e devo poter inserire delle voci nei relativi campi Voce, Maggiorazioni ed Importo.

    I dati li deve prendere da una colonna che sta in un altro foglio (il Foglio Dati), mi aiutate.

    Grazie ancora per tutto, siete mitici.



  • di Textomb data: 23/03/2013 10:54:53

    Se hai due registrazioni la POS A e la POS B, poi cancelli la POS A, allora dovresti prendere la POS B e spostarla manuamente nella POS A. Non devono esserci righe vuote tra le varie registrazioni. Altrimenti non funziona bene... Qualora avessi l'esigenza di mantenere le registrazioni nelle loro posizioni, si deve modificare la logica di funzionamento della maschera. Facci sapere cosa intendi fare.

    Per la nuova mascera su maggiorazioni. Nessun Problema. Ma dovresti dirmi dove si trovano le colonne dei dati riferiti a: Voce, MAggiorazioni e Importo. Nel foglio Dati non li trovo...


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 23/03/2013 12:38:51

    Per quanto riguarda il primo punto, se possibile, vorrei questo:
    le posizioni con i relativi dati sono tutte inserite, cancello una qualsiasi posizione e poter inserire di nuovo i dati tramite la maschera "Tipologia"


    Per quanto riguarda il secondo punto, i dati devono essere presi in una nuova colonna sempre nel foglio Dati, ad esempio la colonna si chiama Elementi Aggiuntivi che contiene dati come "Motore per Wasistas" "Vetro Stratificato", ecc.
    Naturalmente questi voci contenute nella colonna Elementi Aggiuntivi hanno un prezzo. Cosa succede allora? Facendo doppio clic su Maggiorazioni del foglio Preventivo devo poter aggiungere, nella cella A57 la posizione dell'infisso (A,B, C, ecc.), nella cella E57 l'elemento aggiuntivo e nella cella K56 il relativo prezzo, e così anche nelle successive righe.


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 23/03/2013 15:11:26

    Ragazzi, ho bisogno di spostare i riferimenti dei dati.
    In pratica nella Tabella Costi i dati contenuti nelle colonne Z, AA, AC, AD, AG devono essere messe in altre colonne, diciamo alla fine, ad esempio a partire da HA in poi.
    C'ho provato credetemi, ma non ho capito perchè, nel codice ho modificato le sigle delle celle di riferimento ma non ho capito perchè non funziona, mi aiutate per favore?



  • di Textomb data: 23/03/2013 17:54:14

    che cosa non ti ha funzionato?
    Se modifichi la posizione delle colonne nella tabella dei dati non c'è nessun problema.
    Tranne che modifichi le intestazioni delle colonne. Fammi capire meglio.


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 23/03/2013 23:48:36

    ti spiego cosa ho fatto; sono andato nel codice, con il trova ho cercato z1 e al posto di z1 ho messo ad esempio da, e mi va in debug.
     
    Tabella_Costi.Range("da").CurrentRegion.Sort key1:=Tabella_Costi.Range("da")



  • di Textomb data: 24/03/2013 21:27:16

    Il codice che hai postato non può funzionare perchè Tabella_Costi.Range("da") non fa riferimento ad un Range valido.
    Domani proverò a lavorarci e cercherò di rispondere alle questioni che hai avanzato.
    A proposito delle Maggiorazioni, hai scritto che devi riportare la Pos dell'infisso (A, B e C... ecc) e nella cella K56 inserire il relativo prezzo. Ma questo prezzo da dove lo deve prendere??? Mi spieghi meglio?


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 24/03/2013 21:53:02

    Allora, nella tabella Maggiorazioni si deve avere come da esempio:

    Voce Maggiorazioni Importo
    A Motore per Wasistas 50
    B Coprifilo da 50 150

    ecc.

    Naturalmente le maggiorazioni le prenderà dal foglio Dati. Ora come ora nel foglio dati questi valori non ci sono, si devono inserire.

    Grazie mille



  • di Textomb data: 26/03/2013 10:39:34

    Allego nuova release...
    Le POS dalla A alla J adesso sono selezionabili sulla maschera Tipologia. Per velocizzare questa operazione, la POS viene automaticamente assegnata in base alla prima occorrenza libera (modificabile dall'utente).
    Quindi, se devo effettuare la cancellazione di una precedendte registrazione e fare un nuovo inserimento, basta solo che assegno alla nuova registrazione la POS desiderata e, quando si registra, viene sovrascritta la precedente.
    Per le maggiorazioni sono state create due nuove colonne nella tabella DATI. Quindi adesso con il doppio clic sulla cella MAGGIORAZIONI, il sistema pesca dalle nuove colonne...
    Inoltre ho spostato nel foglio Tabella Costi le colonne Z, AA, AC, AD e AG in un altro foglio (nascosto) quindi non danno più intralcio.
    PErò, al solito, non ho avuto tempo di testare il tutto... quindi, fammi sapere.

    Ps: Il problema già ampiamente discusso sulla formattazione della tabella dei clienti è stato eliminato perchè non faccio più alcuna formattazione. Mi limito alla sola registrazione della nuova riga con l'ordinamento della tabella.




  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 26/03/2013 20:44:16

    Come sempre ottimo lavoro, sto iniziando a fare i test anche se vi anticipo che, non so se sia possibile farlo.
    Vorrei che, dopo la posizione J posso aggiungere altre posizioni. Vorrei che la nuova posizione continui dopo la J macchè possa essere stampato tutto, se non ce la faccio in un unico foglio puo' andare anche in un secondo, l'importante è che le maggiorazioni vengano dopo.
    Continuo nei test, vi terro' aggiornati.
    Grazie di cuore, siete grandi.



  • di Textomb data: 26/03/2013 23:18:38

    Puoi aggiungere in coda tutte le posizioni che vuoi dopo la J. Dovrebbe funzionare in ogni caso.
    Prova e mi dirai.


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 27/03/2013 07:18:45

    Ho provato ad aggiungere altre posizioni come mi hai suggerito ma non li fa inserire, si ferma a J. Forse non mi sono spiegato bene.
    Se sono arrivato alla posizione J e ce ne sono altre da aggiungere bisognerebbe inserirne altre, diciamo altre 10 ad esempio.
    Naturalmentela riga che contiene TOT. INFISSI con i vari totale va alla fine, anche le maggiorazioni rimangono alla fine. Il problema è verificare come viene la stampa, per me anche due, tre, quattro pagine da stampare, non è un problema.

    Inoltre, i campi che si trovano sopra la parola Tipologia, vale a dire "Telaio", "Misura", "Falda", "Anta" li puoi, per favore inserire nella maschera delle caratteristiche infissi? Tieni presente nella cella Q3 deve uscire una immagine diversa a seconda della scelta della Falda: "Senza", "Z35", "Z50".
    Grazie mille.


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 27/03/2013 07:53:28

    mi correggo:

    Misura non va nella maschera Caratteristiche Infissi perchè compare automaticamente colorato a seconda della scelta del campo Conferma d'ordine che si trova in Condizioni Generali.



  • di Textomb data: 27/03/2013 09:24:23

    A proposito delle posizioni da aggiungere dopo la J, ho capito che ti serve una situazione dinamica.
    Qualora avessi bisogno di ulteriori righe dopo la J si deve prevedere un pulsante "aggiungi riga".
    Ma immagino che servirà anche al contrario "elimina riga"...
    Vabbè ora vedo come posso organizzarmi.



  • di Vecchio Frac data: 27/03/2013 09:30:35

    Questa discussione sta per superare il record di risposte che detenevo io qualche mese fa ^_^





  • di Textomb data: 27/03/2013 09:33:09

    hai ragione!!! ma non è colpa mia!!!
    A Pietro escono esigenze nuove ogni giorno. Se le dicesse tutte in una volta sarebbe meglio...


  • Excel Fuorigriglia
    di Pietro (utente non iscritto) data: 27/03/2013 09:52:32

    avete ragione ragazzi, e non so come ringraziarvi. Mi sto letteralmente appassionando a questo forum, vi ringrazio immensamente.



  • di Textomb data: 27/03/2013 13:12:15

    Ti spiego come ho pensato di risolverti il problema riferito alle nuove Posizioni...
    La maschera Tipologia adesso ti propone, come avrai notato, la prima POS libera successiva presente sul foglio Preventivo. Qualora dovessi arrivare all'ultima POS disponibile (che è la "J"), se apri la maschera Tipologia e confermi una nuova registrazione aggiunge una riga in coda (inserendo una nuova registrazione con la POS "K"). Ovviamente adeguando correttamente anche i totali... E così via con le successive registrazioni...
    Tutto in automatico. Senza aggiungere pulsanti o chissà quali altre diavolerie.
    Credo che sia meglio così... Se pensi diversamente fammi sapere.
    Io tra un pò mi ci potrò dedicare...




  • Excel Fuorigrigli
    di Pietro (utente non iscritto) data: 27/03/2013 13:49:24

    Ottima idea, penso sia la soluzione migliore.



  • di Textomb data: 27/03/2013 16:12:49

    eccolo in allegato (ver.05)
    All'apertura della maschera tipologia, ti propone la registrazione della prima POS libera. Se non esiste nel foglio preventivo, aggiunge una riga in coda al foglio.
    Provalo e mi saprai dire.
    Adesso non hai più limitazioni. Puoi inserire tutte le registrazioni che vuoi dopo la J...


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 27/03/2013 20:11:53

    Ok, perfetto, sto facendo i test. Ti posso gia' dire che se, inserendo altre posizioni, l'impostazione di stampa cambia, automaticamente dal campo VOCE, MAGGIORAZIONI, ecc. deve andare in seconda pagina, continuo nei test.
    Grazie.


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 27/03/2013 23:23:47

    Ciao ragazzi, allora sto continuando a fare dei test e, grazie al vostro aiuto, sto inserendo anche le immagini a seconda della scelta del tipo di falda (Senza, Z35, Z50, ecc.)
    Ho provato a mettere questo codice ma mi da' errore, cosa sbaglio?
     
    Private Sub mNascondi(ByVal s As String)
    
        Dim lRiga As Long
        Dim lng As Long
        Dim sh2 As Worksheet
        
        Set sh2 = ThisWorkbook.Worksheets("DATI")
            lRiga = [TIPO_FALDA].Rows.Count
            For lng = 1 To lRiga
                Me.OLEObjects(sh2.Range("e" & lng).Value).Visible = False
            Next
            
            If Not Len(s) = 0 Then
                Me.OLEObjects(s).Visible = True
            End If
            
        Set sh2 = Nothing
        
    End Sub


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 28/03/2013 07:35:18

    Buongiorno a tutti, continuando a fare test ho notato che anche per le maggiorazioni vale lo stesso discorso delle posizioni, cioè agigungere altre voci inserendo altre righe.



  • di Textomb data: 28/03/2013 11:16:40

    Per la Private Sub che hai postato non so che dirti. Dovrei capire meglio cosa intendi fare... Ma spero nella spiegazione di qualcun altro. Visto che non le ho mai usate.
    Per le maggiorazioni devo invece capire se lasciare libero il campo VOCE così come ho fatto, e semplicemente permetterti di aggiungere una riga in coda quando serve oppure se devo legare il campo VOCE delle Maggiorazioni alle POS registrate nel preventivo. E quindi in questo caso, far apparire la casellina a discesa nel campo VOCE con l'elenco di tutte le POS (A, B, C, ecc...) registrate nel preventivo.





  • excel fuorigriglia
    di Pietro (utente non iscritto) data: 28/03/2013 12:08:39

    Sono sicuro che mi aiuterete per quanto riguarda la Private Sub.

    Per quanto riguarda la riga vuota sotto voce; c'è perchè ho creato un pulsante che si chiama Inserisci Arrotondamento che mi fa comparire, sotto la voce imponibile il relativo campo. In questo modo posso scrivere il prezzo a mano arrotondato.
    Inotre, ho fatto in modo che il primo campo di VOCE sia automatico, cioè, se nel campo Dk e Coperture il testo inizia per Rivestimento Standard mi fa il calcolo del totale scontato *0,20.
    Se invece c'è Rivestimento Fuori Standard il calcolo è *0,30
    Mi aiutate a gestirlo in altro modo?




  • di Textomb data: 28/03/2013 13:58:53

    Pietro stavolta mi sono confuso.
    Si parlava di VOCE maggiorazioni... invece salta fuori che hai creato un pulsante inserisci Arrotondamento che sotto la voce imponibile fa comparire il relativo campo. Ma io sotto l'Imponibile trovo IVA 21%. Non capisco...
    Poi scrivi,
    cit. Inotre, ho fatto in modo che il primo campo di VOCE sia automatico, cioè, se nel campo Dk e Coperture il testo inizia per Rivestimento Standard mi fa il calcolo del totale scontato *0,20. Se invece c'è Rivestimento Fuori Standard il calcolo è *0,30
    Se stiamo alludendo alle MAGGIORAZIONI, mi confondo. Sono Maggiorazioni oppure sconto? Per me sono due cose in contrapposizione. O l'una o l'altra.
    Dovresti essere più esplicito.
    Tra l'altro io ti avevo posto tutt'altro quesito. Boooohhhh
    Per me è molto più semplice il metodo matriciale degli spostamenti per calcolare la posizione dell'asse neutro...



  • di Vecchio Frac data: 28/03/2013 14:22:07

    cit. " Ho provato a mettere questo codice ma mi da' errore, cosa sbaglio?"
    ---> Non mi stancherò mai di ripeterlo (almeno, spero per tutti i futuri utenti del forum che non mi stancherò mai di ripeterlo ^_^). Quando lamentate un errore, siate PRECISI.
    Non dici quale sia l'errore (codice dell'errore, e descrizione).
    Non dici su quale punto della riga l'interprete si ferma (la macro si ferma, compare l'avviso di Debug e la riga viene evidenziata in giallo).
    Non dici da dove salta fuori il codice (la parola chiave Me fa supporre che si trovi in uno userform).
    Non dici soprattutto che cosa dovrebbe fare il codice (risultato atteso): presumo, nascondere immagini (oggetti OLE) il cui nome è in colonna E del foglio dati, tranne l'immagine passata come argomento.

    @Textomb
    La direttiva "Private" indica semplicemente che una sub (o una function) è visibile soltanto all'interno del modulo (o del codice foglio) in cui si trova. Le procedure o funzioni visibili a tutto il progetto o al foglio (in tal caso, se sono Function) devono essere dichiarate Public oppure non dichiarate (quindi Public è la direttiva di default).






  • di Textomb data: 28/03/2013 17:53:00

    Grazie mille VF.
    sapevo della differenza tra Private e Public.
    Quello che non so e che non ho mai utilizzato è una Sub con variabili espresse. Per es. Private Sub mNascondi(ByVal s As String).
    Come agisce e come viene richiamata all'interno del codice?
    Diciamo che poterbbe essere assimilata ad una Function. O sbaglio? Solo che non restituisce un valore come accade con le function.
    E poi, in ultimo. Come mai non le ho mai viste prima d'ora...?




  • di Vecchio Frac data: 28/03/2013 18:42:08

    @textomb
    Scusa l'arroganza di averti espresso un concetto che so bene che ti è evidentemente noto (oggi è tutto il giorno che faccio cattedra e mi sono lasciato trasportare ^_^).
    Se la Function restituisce un valore, la Sub non ne restituisce alcuno, l'elaborazione nasce e muore lì (sempre se non vengono coinvolte variabili globali). Tuttavia la Sub accetta certamente dei parametri e li elabora. Fondamentale quando si ha una lunghezza eccessiva del codice principale e si vuole (deve) frantumarlo in pezzi più piccoli, routine separate che svolgono compiti indipendenti ma sempre su valori comuni.
    La Sub parametrica si richiama come una Function.
    Call mySub(parametro) '<--- vuole le parentesi
    oppure
    mySub parametro '<--- non vuole le parentesi




  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 28/03/2013 21:10:42

    Volevo scusarmi per il mio commento di prima, non sapevo come inserire il codice con il relativo errore.
    Per quanto concerne i test, le modifiche effettuate vanno benisssimo. Attendo info sulle modifiche sulle maggiorazioni, grazie ancora.



  • di Textomb data: 29/03/2013 00:15:37

    Pietro tu attendi info sulle Maggiorazioni... Io attendo di capire cosa vuoi ottenere con esattezza perchè dagli ultimi interventi che hai fatto, se avevo un'idea, me l'hai ammazzata...
    Se non ti spieghi meglio, sarà difficile che io o qualcun altro possiamo aiutarti.
    Esprimi con chiarezza l'obiettivo Maggiorazioni senza trascurare i dettagli che sono importanti. Su, dai. Coraggio.
    Ps. Se ci sono altre cose che intendi gestire. Fai uno sforzo. Dille tutte in una volta...


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 29/03/2013 06:45:25

    Ok, hai perfettamente ragione.
    Argomento Maggiorazioni. Allora, nella prima riga delle maggiorazioni deve comparire, sempre, la dicitura "RIV EFFETTO LEGNO STD" se in Colore ho scelto un colore che contiene la parola Rivestimento Standard. Deve comparire, invece, la dicitura RIV EFFETTO LEGNO F-STD" se in colore ho scelto un colore che contiene la parola Rivestimento Fuori Standard. In importo dovra' uscire il prezzo del totale scontato *0,20 nel cado di "RIV EFFETTO LEGNO STD", totale scontato *0,30 invece nel cado di "RIV EFFETTO LEGNO F-STD".
    Se in colore scelgo scelgo un colore che contiene la parola "IN MASSA", invece sia la prima voce delle maggiorazioni che l'importo saranno vuoti.
    Dopo queste celle si possono aggiungere altre maggiorazioni come quelle presenti nel file che avete allegato.




  • di Textomb data: 30/03/2013 10:18:17

    Allego ver06 del file.
    Vediamo se entro l'anno supereremo la ver10...
    Riporto tutte le integrazioni effettuate.
    Nella sezione Maggiorazioni la prima riga è sempre dedicata al RIV EFFETTO LEGNO qualora si sceglie un colore con la dicitura Rivestimento Standard o Fuori Standard. Qualora invece si scegliesse un colore con la dicitura IN MASSA, lascia la prima voce delle maggiorazioni e l'importo vuoti come richiesto.
    Per quanto riguarda lo sconto sulle Maggiorazioni, invece, ho ritenuto di lascirati libero di poterlo modificare a tuo piacimento.
    Cioè, all'apertura della UserForm riferita alle Caratteristiche, subito dopo aver scelto il colore, ti propone lo sconto da applicarsi alle Maggiorazioni Colore a seconda se hai selezionato un colore Standard o fuori Standard nella misura del 20 o 30%. Ma questi valori sono modificabili qualora occorrente.
    Infine ho permesso l'inserimento di nuove righe in coda nella sezione riferita alle Maggiorazioni adeguando, ovviamente, anche il totale.
    Prova e mi saprai dire.


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 30/03/2013 13:56:18

    Grazie mille, verifico e ti faccio sapere. Grazie
    Ti dico subito che ho provato ad inserire tante righe nuove in Maggiorazioni.
    Il problema è che, se non va in una pagina il foglio, dovrebbe stampare la seconda pagina a partire dal campo Voce, mi fai sapere?



  • di Textomb data: 30/03/2013 15:55:13

    ho sostituito la ver06 in allegato con la gestione del cambio pagina quando lanci la stampa...


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 30/03/2013 16:52:29

    Ciao, ho notato che il calcolo nell'importo delle maggiorazioni non è corretto.
    Mi spiego: se scelgo Rivestimento Effetto Legno il calcolo che comparira' nell'importo sarà Totale Scontato (cella U47) * 0.20; se Fuoristandard 0.30

    Ad esempio: Se nel totale scontato ho 199.98 allora avro' la descrizione "RIV EFFETTO LEGNO F-STD" e in Importo il prezzo € 59.99


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 30/03/2013 17:01:01

    Vorrei cogliere l'occasione per ringraziare tutti coloro che mi stanno aiutando, non ho parole, vorrei essere al vostro ineguagliabile livello, e son sicuro che imparero' tanto con voi. Grazie di cuore, il vostro aiuto è grandissimo, un forum meraviglioso, grazie ancora.


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 01/04/2013 09:31:57

    Ciao ragazzi, innanzitutto buona Pasqua a tutti.
    Volevo segnalarvi che, facendo dei test ho notato quanto segue:

    Faccio doppio Clic su Caratteristiche Infissi, scelgo tutti i parametri e in Colore scelgo, ad esempio, un qualsiasi RIVESTIMENTO STANDARD, clicco su OK, poi scelgo il Cliente, poi faccio doppio Clic su Tipologia, inserisco una qualsiasi tipologia, clicco su ok e noto che mi ha inserito il prezzo ma il primo campo Importo che si trova in Maggiorazioni alla destra di "RIV EFFETTO LEGNO STD" è vuoto.
    Se faccio di nuovo doppio clic su Caratteristiche Infissi e rifaccio OK tale importo viene aggiornato.
    In realta', l'importo deve essere aggiornato unicamente al campo Totale Scontato (Cella U47).

    Ancora auguri a tutti.



  • di Textomb data: 01/04/2013 23:16:54

    Sinceramente non avevo ben capito il meccanismo delle Maggiorazioni.
    Comunque adesso l'ho sistemato. Almeno credo... Riallego la ver.06-
    Prova così e mi saprai dire.



  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 03/04/2013 19:38:33

    Tutto ok Textbomb, ma purtroppo subentra un problema duro che non so se sia fattibile, riguarda sempre le maggiorazioni. Poichè è un argomento abbastanza complicato (almeno per me sicuramente), cerchero' di fare mente locale e di spiegarlo in un prossimo commento. Grazie ancora.


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 03/04/2013 21:15:05

    Ciao a tutti,
    come anticipato ecco il mio problema sulle Maggiorazioni, ho inserito due esempi:

    1. Soglia Ribassata costa 98 euro ad infisso ed in Maggiorazione deve comparire:
    SOGLIA RIBASS. Nr Pz 1 *€ 190,00 -20% ed in Importo deve comparire il prezzo 152 euro.

    2. Vetro.
    Realizzo un infisso di misure 2750x1015, quando inserisco poi la maggiorazione che si chiama "SAFE IN" il prezzo che deve uscire deve essere il metro quadro dell'infisso per il prezzo del vetro che è 18 euro.
    Quindi la descrizione nella maggiorazione del Vetro sara':
    Vetro "SAFE-IN" nr pz. 1, mq 2.79 * € 25,00 (con o senza sconto) e in Importo compare il prezzo 69.75

    Mi aiutate per favore? Come gestirla questa situazione?
    Grazie infinite



  • di Textomb data: 03/04/2013 22:23:00

    Meno male che dovevi descrivere le tue esigenze tutte in una volta...
    A quanto capisco si deve aggiungere il campo sconto nella maschera delle maggiorazioni. Così puoi inserirlo quando vuoi.
    Non capisco però il significato di quello che chiedi. Soglia Ribassata costa 98 euro ad infisso ed in Maggiorazioni deve comparire 190 euro.
    Ma nella tabella Dati alla voce Soglia Ribassata cosa troverò 98 oppure 190 euro?
    Perchè se è come penso, si troverà solo 190 euro che è il prezzo di listino a cui applicare un eventuale sconto. Giusto?
    Se è così, 98 euro dove intervengono nella redazione del preventivo? Perchè li hai messi in ballo?

    Idem per il punto 2 Vetro.
    Anche in questo caso capisco che il costo del vetro è 18 euro.
    Ma, sul preventivo, inserisci il prezzo di vendita che è 25 euro con l'eventuale sconto, qualora lo volessi applicare.
    Quindi, sulla tabella Dati alla voce Vetro Safe-IN troverò il prezzo unitario di 25 euro/mq.
    In questo caso si deve fare il prodotto tra mq infisso (2,79) x il prezzo unitario 25 euro (con o senza sconto). Giusto?
    Infine:
    Come faccio a individuare la superficie dell'infisso (2,79 mq) a cui dobbiamo far riferimento se ci sono più POS nel preventivo?


  • Excel fuorigriglia
    di Pietro (utente non iscritto) data: 03/04/2013 22:45:43

    La soglia ha diversi prezzi, che variano in base alla lunghezza dell'infisso.
    Quindi in una tabella da cui prendere i dati avro':
    - Soglia fino a larghezza 1000 costa 98 euro
    - Soglia fino a larghezza 1500 costa 190 euro
    ecc.

    Se scelgo la seconda voce avro' come inserimento della maggiorazione:
    SOGLIA RIBASS. Nr Pz 1 *€ 190,00 -20% ed in Importo deve comparire il prezzo 152 euro.

    Se ad esempio ho due pezzi di infissi allora avro':
    SOGLIA RIBASS. Nr Pz 2 *€ 380,00 -20% ed in Importo deve comparire il prezzo 304 euro.

    ecc.

    Per quanto riguarda il vetro:
    per quanto riguarda la superficie dell'infisso basta moltiplicare la larghezza per l'altezza (per quanti pezzi sono).
    Se la misura è 2750x1015 farò 2,75 x 1.015 = 2.79
    Il prezzo che ho in Maggiorazioni del vetro SAFE IN è 18 euro al Mq per cui avro' nella descrizione della Maggiorazione:
    Vetro "SAFE-IN" nr pz. 1, mq 2.79 * € 18,00 (con o senza sconto) e in Importo compare il prezzo 50.22

    Ogni infisso nella relativa POS avrà la sua superficie al Mq.

    Spero di essere stato chiaro, se non lo sono stato chiedimi tutto quello vuoi.
    Grazie mille.





  • Attenzione
    di Vecchio Frac data: 05/04/2013 09:35:06

    Una settimana fa, scherzando, dicevo che questa discussione stava per battere il record di risposte ricevute... e ora ci siamo ^_^
    Adesso però credo che sia importante un piccolo richiamo sul corretto utilizzo di questo Forum (excelvba.it/regolamento.php), perché mi sembra che la discussione stia assumendo i toni di una consulenza privata.
    Siamo partiti da una piccola problematica legata all'evidenza di valori fuori griglia e ora stiamo parlando di una versione 6 dopo aver affrontato ogni genere di necessità (da userform a preventivi a calcoli specifici) ^_^
    Sarebbe preferibile che Pietro cercasse di risolvere anzitutto da sé i diversi ostacoli che il suo programma gli propone, chiedendo aiuto per problemi puntuali a cui non riesce tecnicamente a trovare soluzione.
    Sarebbe parimenti preferibile che Textomb aiutasse Pietro ad aiutarsi :)
    Ricordo che lo spirito del Forum è essenzialmente quello della collaborazione reciproca per condividere le proprie esperienze e quindi crescere insieme, non quello di cercare consulenza informatica gratuita.

    Se lo desiderate (mi rivolgo a Pietro e Textomb) posso mettervi in contatto facendovi scambiare gli indirizzi email privati (scrivetemi a staff@excelvba.it) in modo che tutti gli approfondimenti legati a questo programma, di cui peraltro io ho perso il filo perché è parecchio complesso, vengano sviluppati direttamente tra di voi, magari con la pattuizione di un compenso.

    La discussione rimane comunque aperta a chiunque desideri intervenire sull'argomento delle problematiche proposte.
    Vi chiedo di non commentare questo post per evitare lo sviluppo di inutili flames.
    Sarò lieto di rispondervi rigorosamente in privato per ogni questione non legata a tecniche di programmazione (staff@excelvba.it).

    Grazie per la collaborazione e la comprensione.