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.
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.
En tout cas moi, je ne connais pas ou n'ai pas suffisamment de dossiers à traiter plus surement pour l'envisager.
A voir sur le net ou peut-être que quelqu'un répondra sur ce sujet.
Je crois que j'ai pas très bien compris comment je devais rentrer la formule
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
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.
Je crois que j'ai pas très bien compris comment je devais rentrer la formule
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
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.
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 ?
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 ?
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
De plus j'ai une erreur à propos de la première ligne apparemment
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.