XL 2019 Comment créer une alerte Excel → Outlook

Espry

XLDnaute Nouveau
Bonjour,
J'ai réalisé un Excel avec des dates (entrées manuellement et tenu à jour manuellement) butoir de qualification de soudeur.
J'aimerai avoir un mail lorsque une ligne de la colonne "D" est "A RENOUVELER" de même pour la colonne "F"
Je ne sais pas si c'est possible sans avoir à ouvrir le document Excel.
Merci d'avance pour votre aide.
1603286927464.png
 

Pièces jointes

  • Suivi Qualif.xlsx
    11 KB · Affichages: 21
Dernière édition:
Solution
Bonjour,
Merci pour la macro ! en effet j'avais oublié le planificateur de tâches Windows, merci !

Ceci dit, pour ma part, je préfère écrire et lancer via le planificateur un petit VBS qui va m’ouvrir excel, lancer la macro que j'ai nommé "AutoRunViaVBS" et refermer (sans sauvegarde dans l'exemple) ensuite.

Genre:
VB:
Log("Début Excel")
    Set objExcel = CreateObject("Excel.Application") 'Ouverture d'un Excel
    objExcel.Visible = true
Log(Err & " objExcel.Visible")
    objExcel.DisplayAlerts = False 'Pas de notification
Log(Err & " DisplayAlerts")
    Set objWorkbook = objExcel.Workbooks.Open("Y:\...\Dispo.xlsb")
Log(Err & " Workbooks.Open")
    objExcel.Run "RunAutoViaVBS"
Log(Err & " RunAutoViaVBS")
    objWorkbook.Close...

zebanx

XLDnaute Accro
Re-

En tout cas moi, je ne connais pas ou n'ai pas suffisamment de dossiers à traiter plus surement pour l'envisager. :cool:
A voir sur le net ou peut-être que quelqu'un répondra sur ce sujet.


Bonne journée.
 
Dernière édition:

Espry

XLDnaute Nouveau
Je crois que j'ai pas très bien compris comment je devais rentrer la formule :rolleyes:
Je suis allé me renseigné sur les info support Microsoft j'ai pu y voir a même info que vous m'avez donné :
Private Sub Workbook_Open()

' Put your code here

End Sub

J'ai essayé de copier+coller mon module 1 à la place du "put your code here"
mais j'ai le message d'erreur:
"Erreur de compilation:

End Sub attend ualors que j'ai bien entree End Sub à la fin
 

D.D.

XLDnaute Impliqué
Bonjour,
Merci pour la macro ! en effet j'avais oublié le planificateur de tâches Windows, merci !

Ceci dit, pour ma part, je préfère écrire et lancer via le planificateur un petit VBS qui va m’ouvrir excel, lancer la macro que j'ai nommé "AutoRunViaVBS" et refermer (sans sauvegarde dans l'exemple) ensuite.

Genre:
VB:
Log("Début Excel")
    Set objExcel = CreateObject("Excel.Application") 'Ouverture d'un Excel
    objExcel.Visible = true
Log(Err & " objExcel.Visible")
    objExcel.DisplayAlerts = False 'Pas de notification
Log(Err & " DisplayAlerts")
    Set objWorkbook = objExcel.Workbooks.Open("Y:\...\Dispo.xlsb")
Log(Err & " Workbooks.Open")
    objExcel.Run "RunAutoViaVBS"
Log(Err & " RunAutoViaVBS")
    objWorkbook.Close False
    objExcel.Quit 'Fermeture de l'Excel

Function Log(L)
    Set Z = oFs.OpenTextFile("Y:\...\Log\SAP_MCBA.txt", 8, True)
    Z.WriteLine Now & "," & Right("0" & Int((Timer-Int(Timer)) * 100),2) & " : Vbs : " & L
    Z.Close
End Function

Pourquoi ?
Parce que quand j'ouvre manuellement l'Excel je n'ai pas envie que la macro de l'AutoRun se lance (ok, shift, mais bon....) et que là, en plus, je fais un petit Log (ok, je pourrais aussi le faire en Excel natif).
Enfin, cela m'ouvre un Excel indépendant, visible ou invisible (=en tache de fond) qui n’interagit pas avec un éventuel Excel déjà ouvert.

Voili voilà
 
Dernière édition:

D.D.

XLDnaute Impliqué
Je crois que j'ai pas très bien compris comment je devais rentrer la formule :rolleyes:
Je suis allé me renseigné sur les info support Microsoft j'ai pu y voir a même info que vous m'avez donné :
Private Sub Workbook_Open()

' Put your code here

End Sub

J'ai essayé de copier+coller mon module 1 à la place du "put your code here"
mais j'ai le message d'erreur:
"Erreur de compilation:

End Sub attend ualors que j'ai bien entree End Sub à la fin
Mets plutôt
Call Ta_macro_du_module1
dans le
Private Sub Workbook_Open()
 

Espry

XLDnaute Nouveau
Ceci dit, pour ma part, je préfère écrire et lancer via le planificateur un petit VBS qui va m’ouvrir excel, lancer la macro que j'ai nommé "AutoRunViaVBS" et refermer (sans sauvegarde dans l'exemple) ensuite.

Genre:
VB:
Log("Début Excel")
    Set objExcel = CreateObject("Excel.Application") 'Ouverture d'un Excel
    objExcel.Visible = true
Log(Err & " objExcel.Visible")
    objExcel.DisplayAlerts = False 'Pas de notification
Log(Err & " DisplayAlerts")
Set objWorkbook = objExcel.Workbooks.Open("Y:\...\Dispo.xlsb")
Log(Err & " Workbooks.Open")
        objExcel.Run "RunAutoViaVBS"
Log(Err & " RunAutoViaVBS")
        objWorkbook.Close False
    objExcel.Quit 'Fermeture de l'Excel

Function Log(L)
Set Z = oFs.OpenTextFile("Y:\...\Log\SAP_MCBA.txt", 8, True)
Z.WriteLine Now & "," & Right("0" & Int((Timer-Int(Timer)) * 100),2) & " : Vbs : " & L
Z.Close
End Function

Pourquoi ?
Parce que quand j'ouvre manuellement l'Excel je n'ai pas envie que la macro de l'AutoRun se lance (ok, shift, mais bon....) et que là, en plus, je fais un petit Log (ok, je pourrais aussi le faire en Excel natif).
Enfin, cela m'ouvre un Excel indépendant, visible ou invisible (=en tache de fond) qui n’interagit pas avec un éventuel Excel déjà ouvert.

Voili voilà

Ah oui c'est beaucoup plus intéressant donc si j'ai bien compris grâce au planificateur de commande windows vous lancez un fichier txt avec une commande "VBS" qui va ouvrir votre Excel et exécuter la macro et ensuite le refermer sans avoir enregistré ?
Si oui avec quel logiciel ? Un Cmd ou txt ou autre ?
 

D.D.

XLDnaute Impliqué
Ah oui c'est beaucoup plus intéressant donc si j'ai bien compris grâce au planificateur de commande windows vous lancez un fichier txt avec une commande "VBS" qui va ouvrir votre Excel et exécuter la macro et ensuite le refermer sans avoir enregistré ?
Si oui avec quel logiciel ? Un Cmd ou txt ou autre ?
Le planificateur lance un fichier VBS.
Un fichier .VBS est directement exécutable dans Windows.
Il est écrit directement en texte à l'intérieur.

Sinon, oui: Le fichier VBS va ouvrir un Excel, exécuter la macro puis refermer proprement l'Excel (en sauvegardant ou pas, c'est au choix).
 

Espry

XLDnaute Nouveau
Merci beaucoup pour votre aide.
J'ai réussi à faire un vbs via Notepad++
mais je ne comprend pas cette ligne de macro :
Set Z = oFs.OpenTextFile("Y:\...\Log\SAP_MCBA.txt", 8, True)
Je ne sais pas quoi entrer comme fichier txt :confused:
De plus j'ai une erreur à propos de la première ligne apparemment
1603784905747.png
 

D.D.

XLDnaute Impliqué
Hello

Je dois avouer qu'il manque
Set oFs = CreateObject("Scripting.FileSystemObject")
en première ligne de l'exemple.

La ligne
Set Z = oFs.OpenTextFile("Y:\...\Log\SAP_MCBA.txt", 8, True)
sert à enregistrer dans un fichier que tu souhaites (à toi de définir son emplacement et son nom) les actions que va faire le programme VBS.

Si tu as une erreur en 1ère ligne, c'est parce que tu as mis les 4 dernières en commentaire --> la fonction LOG est donc inconnue.

La macro "RunAutoViaVBS" est dans l'Excel. Ok, rien n’empêche que ce soit également le nom du VBS, mais la macro qui sera lancée dans l'Excel par le VBS devra exister dans l'Excel.
 

Discussions similaires

Statistiques des forums

Discussions
311 719
Messages
2 081 871
Membres
101 828
dernier inscrit
Did-Pan