Résolu 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
 
Ce fil a été résolu! Aller à la solution…

Fichiers joints

Dernière édition:

zebanx

XLDnaute Accro
Bonjour Espry, le forum

Un essai.
Il faut ouvrir ce fichier.
Le filtre n'est fait que pour la colonne "D".

Xl-ment
zebanx
 
Ce message a été identifié comme étant une solution!

Fichiers joints

Dernière édition:

Espry

XLDnaute Nouveau
Merci beaucoup, la macro marche très bien.
Donc aucun moyen que le mail s'envoi sans avoir à ouvrir le fichier Excel tout les jours ?
 

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:

D.D.

XLDnaute Occasionnel
Merci beaucoup, la macro marche très bien.
Donc aucun moyen que le mail s'envoi sans avoir à ouvrir le fichier Excel tout les jours ?
Hello

Tu peux utiliser le planificateur de tâches de Windows qui ouvrira ton Excel, et mettre une macro de lancement dans le ThisWorkbook:

Private Sub Workbook_Open()

End Sub
 

Espry

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

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 Occasionnel
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à
 
Ce message a été identifié comme étant une solution!
Dernière édition:

D.D.

XLDnaute Occasionnel
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 Occasionnel
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 Occasionnel
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.
 

Espry

XLDnaute Nouveau
Parfait ! tout marche très bien !
J'ai tout créer avec les bon chemins maintenant tout fonctionne !
Merci beaucoup d'avoir pris le temps de m'aider :)
 

soan

XLDnaute Accro
Bonjour D.D., le fil,

je t'ai mis un "J'adore" pour la jolie photo de ton avatar ! :p (c'est vraiment toi ?)
et aussi, accessoirement, pour avoir aidé Espry. ;)


soan
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas