somme Euro



  • somme Euro
    di dodi (utente non iscritto) data: 18/11/2017 13:13:53

    Saluti tutti.
    Mi ritrovo a riscrivere e chiedere aiuto in Qsto forum perché penso che qui c'e molta gente competente in materia.
    Espongo il mio problema.
    Faccio breve premessa, grazie ad una dritta di Alfredo giorni fa, ho risolto il problema di far comparire nelle textbox il simbolo euro.
    Ora veniamo a noi.
    In pratica ho un foglio formattato con il formato contabilità, perché in alcune celle ho formule di totali. Con un tasto ricerca ripopolo la userform e nelle Textbox i valori compaiono con il simbolo euro, ed è quello che volevo; grazie alla dritta di Alfredo, Ma se modifico i dati presenti nella userform ripopolata e clicco sul tasto modifica, il formato nel foglio viene cambiato da contabilità a testo e quindi nelle celle dove ci sono le formule di sommatoria degli importi non funzionano e non ho il risultato che voglio, sicuramente sbaglio qualcosa.
    Qualcuno di voi può darmi la dritta giusta? Allego il codice.

     
    Private Sub CmdRicerca_Click()
    
    If Not ComboBox1.Value = "" Then
    Dim no_ligne As Integer
    
        no_ligne = ComboBox1.ListIndex + 6
      
        codlav.Value = Cells(no_ligne, 1).Value
        'ordine1.Value = Cells(no_ligne, 2).Value
        Cant.Value = Cells(no_ligne, 3).Value
        via.Value = Cells(no_ligne, 4).Value
        importo.Value = Cells(no_ligne, 5).Value
        importo = Format(importo, "€ #,##0.00")
        P1.Value = Cells(no_ligne, 6).Value
        P1 = Format(P1, "€ #,##0.00")
        P2.Value = Cells(no_ligne, 7).Value
        P2 = Format(P2, "€ #,##0.00")
        P3.Value = Cells(no_ligne, 8).Value
        P3 = Format(P3, "€ #,##0.00")
        P4.Value = Cells(no_ligne, 9).Value
        P4 = Format(P4, "€ #,##0.00")
        PF.Value = Cells(no_ligne, 10).Value
        PF = Format(PF, "€ #,##0.00")
        
    Else
    End If
    
    End Sub
    
    Private Sub CmdModifica_Click()
    Dim no_ligne As Integer
    Sheets("TABCANT").Select
    no_ligne = ComboBox1.ListIndex + 6
    
        Cells(no_ligne, 1) = codlav.Value
        'Cells(no_ligne, 2) = ordine1.Value
        Cells(no_ligne, 3) = Cant.Value
        Cells(no_ligne, 4) = via.Value
       ' Cells(no_ligne, 5) = importo.Value
        Cells(no_ligne, 6) = P1.Value
        Cells(no_ligne, 7) = P2.Value
        Cells(no_ligne, 8) = P3.Value
        Cells(no_ligne, 9) = P4.Value
        Cells(no_ligne, 10) = PF.Value
    
    
    ComboBox1.Text = ""
    codlav.Text = ""
    Cant.Text = ""
    via.Text = ""
    importo.Text = ""
    P1.Text = ""
    P2.Text = ""
    P3.Text = ""
    P4.Text = ""
    PF.Text = ""
    
    
    codlav.SetFocus
    
    CaricaDati
    
        End Sub
    



  • di Zer0Kelvin data: 18/11/2017 14:26:56

    Ciao.
    Potresti postare il file.



  • di dodi (utente non iscritto) data: 18/11/2017 14:40:33

    Ciao zerokelvin
    Grazie per la risposta.
    Allego il file.



  • di Zer0Kelvin data: 18/11/2017 15:11:11

    Prima di scrivere il valore nel foglio, devi eliminare il simbolo di euro dalle textbox, altrimenti Excel non lo interpreta come numero.
    E a cosa ti serve, poi, avere il simbolo euro nelle textbox?



  • di dodi (utente non iscritto) data: 18/11/2017 15:17:16

    Il simbolo nella Textbox mi serve per capire che si parla di soldi e non di caramelle, scusa la battuta fredda.
    Quindi è possibile avere il simbolo nella textbox e successivamente dopo la modifica avere il valore nel foglio in modo che le formule sommatorie nel foglio funzionano?

    Grazie



  • di Dodi (utente non iscritto) data: 18/11/2017 15:21:10

    Cmq avevo provato anche a modificare il formato nella texbox ma succede la stessa cosa, e cioè da numero diventa testo nel foglio.
    Avevo tolto il simbolo Euro dal codice è lasciare la formattazione "#,##0.00".
    Ma ugualmente non mi funzionavano le sommatorie e le formule nel foglio.



  • di Zer0Kelvin data: 18/11/2017 15:36:11

    Devi usare Format senza nessun formato 
     
         Cells(no_ligne, 6) = Format(P1.Value)
        Cells(no_ligne, 7) = Format(P2.Value)
        Cells(no_ligne, 8) = Format(P3.Value)
        Cells(no_ligne, 9) = Format(P4.Value)
        Cells(no_ligne, 10) = Format(PF.Value)
    
    



  • di dodi (utente non iscritto) data: 18/11/2017 15:42:40

    Grazie per la risposta è l'aiuto.

    Lo testerò più tardi ora non ho modo di farlo.
    Ti faccio sapere.
    Domanda. Quindi così come l'hai scritto prende il valore dal foglio con il formato della cella con il simbolo euro? O senza simbolo?
    Ancora ti ringrazio per l'aiuto



  • di Dodi (utente non iscritto) data: 18/11/2017 17:57:59

    Ciao Zerokelvin
    Ho testato la tua modifica è funziona, ma ho notato una cosa se dopo la virgola inserisco dei decimali e non gli zeri nella sommatoria non li considera, cosa dovrei modificare?
    Puoi dargli un occhiata e mi suggerisci la soluzione? Ho provato a cambiare il formato eliminando fli zeri e sostituirli con i cancelletti ma niente.




  • di Zer0Kelvin data: 19/11/2017 14:33:29

    Prova a modificare così
     
    Private Sub CommandButton4_Click()
    Dim no_ligne As Integer
        If Not ComboBox1.Value = "" Then
            no_ligne = ComboBox1.ListIndex + 6
            codlav.Value = Cells(no_ligne, 1).Value
            cantiere.Value = Cells(no_ligne, 3).Value
            via.Value = Cells(no_ligne, 4).Value
            importo = Format(Cells(no_ligne, 5).Value, "currency")
            P1 = Format(Cells(no_ligne, 6).Value, "currency")
            P2 = Format(Cells(no_ligne, 7), "currency")
            P3 = Format(Cells(no_ligne, 8), "currency")
            P4 = Format(Cells(no_ligne, 9), "currency")
            PF = Format(Cells(no_ligne, 10), "currency")
        Else
        
        End If
    End Sub
    
    Private Sub CommandButton5_Click()
    Dim no_ligne As Integer
    Sheets("TABCANT").Select
    no_ligne = ComboBox1.ListIndex + 6
    
        Cells(no_ligne, 1) = codlav.Value
        'Cells(no_ligne, 2) = ordine1.Value
        Cells(no_ligne, 3) = cantiere.Value
        Cells(no_ligne, 4) = via.Value
       ' Cells(no_ligne, 5) = importo.Value
        On Error Resume Next
        Cells(no_ligne, 6) = CDbl(Replace(P1, "€ ", ""))
        Cells(no_ligne, 7) = CDbl(Replace(P2, "€ ", ""))
        Cells(no_ligne, 8) = CDbl(Replace(P3, "€ ", ""))
        Cells(no_ligne, 9) = CDbl(Replace(P4, "€ ", ""))
        Cells(no_ligne, 10) = CDbl(Replace(PF, "€ ", ""))
        On Error GoTo 0
    
    



  • di Dodi (utente non iscritto) data: 19/11/2017 17:03:35

    Ciao zerokelvin

    Il problema si presenta anche se creo una nuova registrazione.
    Non riconosce il valore inserito con decimali dopo la virgola. Puoi vedere un po' utilizzando il mio file.
    E aspetto tue notizie.
    Grazie e buona domenica



  • di Dodi (utente non iscritto) data: 20/11/2017 13:42:11

    Buon giorno Zerokelvin
    Chiedevo gentilmente se avevi avuto modo di dare un occhio all'ulteriore
    Problema che mi si era presentato.
    Grazie



  • di Zer0Kelvin data: 20/11/2017 15:36:26

    Forse non hai applicato tutte le correzioni che ho suggerito.
    Ti allego un file; ho eseguito un paio di piccole modifiche.



  • di dodi (utente non iscritto) data: 20/11/2017 18:00:02

    Grazie mille per il tuo aiuto. E ti ringrazio anche per la formula nella cella del foglio.
    Anche se quel problema l'avevo risolto mettendo il totale degli importi alla fine della tabella.
    Cmq ti sono grato per l'aiuto. E la tua modifica nella cella può tornarmi utile magari in futuro.
    Il tutto funziona perfettamente.

    Buona serata



  • di Zer0Kelvin data: 20/11/2017 18:19:17

    LOL!
    Tutto è bene quel che finisce bene



  • di dodi (utente non iscritto) data: 21/11/2017 16:03:09

    Ciao zerokelvin
    Ti volevo chiedere, magari mi può tornare utile più in là,
    Potresti darmi una dritta o un modo per popolare una Listbox dove anche in essa si vede il simbolo euro?
    Mi basta che mi dai una dritta, al massimo una stringa di codice perché vorrei provare da me per imparare.


    Grazie



  • di alfrimpa data: 21/11/2017 16:22:16

    Ciao Dodi

    Prova a fare una ricerca con Google "VBA format currency lisbox"

    Alfredo





  • di dodi (utente non iscritto) data: 21/11/2017 18:13:20