Invio automatico email inventario

Giuseppe Moschella 0 Punti di reputazione
2025-08-24T13:15:38.4266667+00:00

(italiano) Buongiorno a tutti , mi serve sapere quale funzione serve per far mandare un email in automatico ad excel quando il valore nella cella è (ad esempio) -10 , inoltre anche con un messaggio tipo: la giacenza attuale è di .......

SI PUO FARE?

(ENGLISH)Good morning everyone, I need to know what function Excel uses to automatically send an email when the value in the cell is (for example) -10, and also with a message like: the current stock is .......

CAN I DO IT?

Grazie mille / Thanks very much

Microsoft 365 e Office | Excel | Per il lavoro | Altro
0 commenti Nessun commento

1 risposta

Ordina per: Più utili
  1. Anonimo
    2025-08-24T14:23:06.7633333+00:00

    Per facilitare la comunicazione, ho utilizzato uno strumento di traduzione. Ti prego di ignorare eventuali errori linguistici o grammaticali. Grazie per la comprensione.

    Buongiorno @Giuseppe Moschella

    Grazie per aver pubblicato la tua domanda nel forum Microsoft Q&A.

    La risposta è: Sì, è assolutamente possibile configurare Excel per inviare automaticamente un’email quando il livello di inventario raggiunge un determinato valore.

    Sebbene una funzione standard di Excel (come IF o VLOOKUP) non possa inviare email direttamente, puoi ottenere questa automazione utilizzando strumenti più potenti integrati con Excel. Il metodo migliore per te dipende da dove è archiviato il file Excel e dal tuo livello di familiarità con diversi strumenti.

    Di seguito sono riportate le due soluzioni più comuni ed efficaci.

    Metodo 1: Power Automate (Consigliato per utenti Microsoft 365)

    Questo è il modo moderno, robusto e senza codice per creare questa automazione, soprattutto se il file è archiviato in OneDrive o SharePoint. Il flusso viene eseguito automaticamente nel cloud, anche quando il file Excel è chiuso.

    • Crea un “flusso cloud pianificato” in Power Automate (ad esempio, per eseguirlo ogni ora).
    • Il flusso legge il tuo file Excel e ottiene il valore dalla cella dell’inventario.
    • Un passaggio “Condizione” verifica se il valore è -10 (o inferiore).
    • Se la condizione è vera, il flusso utilizza l’azione “Invia un’email (V2)” per inviare una notifica dal tuo account Outlook. Puoi personalizzare facilmente il corpo dell’email per includere il livello di stock, ad esempio: “Lo stock attuale è [valore dalla cella Excel]”.

    Riferimento: Usare i flussi con Excel

    Metodo 2: Macro VBA (Metodo tradizionale per Excel Desktop)

    Questa soluzione funziona direttamente all’interno del file Excel ma richiede che il file sia aperto per attivare l’invio dell’email. Utilizza un piccolo pezzo di codice (macro).

    • Premi Alt + F11 per aprire l’Editor VBA in Excel.
    • Nel Project Explorer a sinistra, trova il tuo foglio di lavoro (es. Sheet1) e fai doppio clic su di esso.
    • Incolla il seguente codice nella finestra bianca che appare.
    • Modifica il codice in base alle tue esigenze (vedi i commenti nel codice).

    Nota: i commenti in italiano presenti nel codice servono solo come guida e devono essere rimossi quando incolli il codice nell’editor VBA.

    Codice VBA:

    Private Sub Worksheet_Change(ByVal Target As Range)
       ' Questo codice viene eseguito automaticamente ogni volta che una cella in questo foglio viene modificata.
       ' --- CONFIGURA LE VARIABILI QUI SOTTO ---
       Const STOCK_CELL As String = "A1" ' La cella che contiene il valore dello stock (es. "A1").
       Const TRIGGER_VALUE As Long = -10  ' Il valore che attiva l'email.
       Const RECIPIENT_EMAIL As String = "[email protected]" ' L'indirizzo email del destinatario.
       ' ----------------------------------------
       ' Verifica se la cella modificata è quella monitorata.
       If Target.Address = Me.Range(STOCK_CELL).Address Then
           ' Verifica se il valore è uguale o inferiore al valore di soglia.
           If Target.Value <= TRIGGER_VALUE Then
               ' Chiama la subroutine per inviare l'email.
               SendStockAlertEmail Target.Value, RECIPIENT_EMAIL
           End If
       End If
    End Sub
    Private Sub SendStockAlertEmail(ByVal stockLevel As Long, ByVal recipientAddress As String)
       Dim OutlookApp As Object
       Dim OutlookMail As Object
       ' Crea un'istanza dell'applicazione Outlook.
       On Error Resume Next
       Set OutlookApp = GetObject(, "Outlook.Application")
       If OutlookApp Is Nothing Then Set OutlookApp = CreateObject("Outlook.Application")
       On Error GoTo 0
       If Not OutlookApp Is Nothing Then
           ' Crea un nuovo elemento email.
           Set OutlookMail = OutlookApp.CreateItem(0)
           With OutlookMail
               .To = recipientAddress
               .Subject = "Urgente: Avviso scorte basse"
               .Body = "Ciao," & vbCrLf & vbCrLf & _
                       "Questo è un avviso automatico. Le scorte hanno raggiunto un livello critico." & vbCrLf & vbCrLf & _
                       "Lo stock attuale è: " & stockLevel & vbCrLf & vbCrLf & _
                       "Si prega di intervenire." & vbCrLf & vbCrLf & _
                       "Grazie."
               .Display ' Per test, usa .Display. Per invio automatico, usa .Send
           End With
           Set OutlookMail = Nothing
           Set OutlookApp = Nothing
       Else
           MsgBox "Microsoft Outlook non è in esecuzione o non può essere avviato.", vbExclamation
       End If
    End Sub
    

    Riferimento: Automating Outlook from a Visual Basic Application

    Spero che queste informazioni ti siano utili. Se hai altre domande o hai bisogno di assistenza per la configurazione, non esitare a contattarmi. Sarò felice di aiutarti!


    Se la risposta è utile, clicca su "Accetta risposta" e votala. Se hai altre domande su questa risposta, clicca su "Commenta".

    Nota: segui i passaggi nella nostra documentazione per abilitare le notifiche e-mail se desideri ricevere la notifica e-mail relativa a questa discussione.

    Immagine dell'utente

    La risposta è stata utile?


Risposta

Le risposte possono essere contrassegnate come "Accettata" dall'autore della domanda e "Consigliata" dai moderatori, in modo da consentire agli utenti di sapere che la risposta ha risolto il problema dell'autore.