OVH Cloud OVH Cloud

ouverture à une date précise

6 réponses
Avatar
MarcT
Bonjour,
Je ne suis pas un spécialiste ... mais j'ai cru comprendre qu'il était
possible de lancer l'ouverture d'Excel à une date donnée ...
Je voudrai que losqu'on approche d'une date (1 ou 2 j avant) qui se
trouve dans une feuille, le claseur s'ouvre automatiquement au démarage
de l'ordi.
merci d'avance
cordilament
Marc

6 réponses

Avatar
MichDenis
Bonjour MarcT,

Voici ce que je te propose :

Tu vas devoir créer un fichier ayant une extension .vbs -> appelé VBscript dans lequel tu vas insérer un bout de code
demandant à windows de l'exécuter à chaque ouverture de l'ordinateur. Pour ce faire, il s'agit d'insérer ton fichier
Vbscript dans le menu "Démarrage" du système d'exploitations Windows XP. Ce répertoire est situé là sous Windows XP :

'C:Documents and SettingsAll UsersMenu DémarrerProgrammesDémarrage

Le but de ce fichier est d'exécuter une macro qui va se charger d'ouvrir une instance d'excel qui a son tour va ouvrir
un fichier excel particulier pour vérifier si la date définie dans une variable d' une procédure particulière d'un
module donné correspond à un écart entre la date d'aujourd'hui et la date désirée ( + ou - 2 jours.) , Si oui, lancement
alors de LaGrosseMacro.

Voici un exemple comment réaliser un fichier VBscript qui va ouvrir excel et exécuter la macro :

Si tu ne veux rien voir à l'écran , mais
oxl.visible = false

Indique le nom et le chemin du classeur à ouvrir où est
ta macro dans la ligne de code :
set Wk = oXL.workbooks.open("c:Mes DocumentsClasseur1.xls")

Pour actionner ta macro , indique le nom de la macro à exécuter.
Dans mon exemple , elle s'appelle "CheckLaDate"
oxl.run "CheckLaDate"

Lorsque tu auras fini ces modifications.
A ) ouvre NotePad.exe
B ) copie ce script dans notepad et
enregistre le fichier dans le répertoire de démarrage ... du système d'exploitation Windows
C ) modifie l'extension .txt pour .vbs


'------------------------------
Dim oXl
Set oXL = WScript.CreateObject("EXCEL.application")
oXL.Visible = True
set Wk = oXL.workbooks.open("c:Mes DocumentsClasseur1.xls")
oxl.run "CheckLaDate"
Wk.save
wk.close
oxl.quit
Set oXL = Nothing
'------------------------------

Et dans un module standard de ton fichier excel, voici un exemple de code que l'on pourrait retrouver :

'-------------------------------
Sub CheckLaDate()

Dim LaDate As Date
Dim Rg As Range

'La date à définir
LaDate = DateSerial(2005, 3, 19)
If Abs(Date - Rg) <= 2 Then
LaGrosseMacro
End If
End Sub
'-------------------------------

Sub LaGrosseMacro()
MsgBox "Bonjour"
End Sub
'-------------------------------


Amuse-toi bien !


Salutations!





"MarcT" a écrit dans le message de news: eiTVF%
Bonjour,
Je ne suis pas un spécialiste ... mais j'ai cru comprendre qu'il était
possible de lancer l'ouverture d'Excel à une date donnée ...
Je voudrai que losqu'on approche d'une date (1 ou 2 j avant) qui se
trouve dans une feuille, le claseur s'ouvre automatiquement au démarage
de l'ordi.
merci d'avance
cordilament
Marc
Avatar
MarcT
Bonjour MichDenis,
merci beaucoup, je me plonge dedans et ne manquerais pas de te tenir au
courant.
Cordialement
Marc T

Bonjour MarcT,

Voici ce que je te propose :

Tu vas devoir créer un fichier ayant une extension .vbs -> appelé VBscript dans lequel tu vas insérer un bout de code
demandant à windows de l'exécuter à chaque ouverture de l'ordinateur. Pour ce faire, il s'agit d'insérer ton fichier
Vbscript dans le menu "Démarrage" du système d'exploitations Windows XP. Ce répertoire est situé là sous Windows XP :

'C:Documents and SettingsAll UsersMenu DémarrerProgrammesDémarrage

Le but de ce fichier est d'exécuter une macro qui va se charger d'ouvrir une instance d'excel qui a son tour va ouvrir
un fichier excel particulier pour vérifier si la date définie dans une variable d' une procédure particulière d'un
module donné correspond à un écart entre la date d'aujourd'hui et la date désirée ( + ou - 2 jours.) , Si oui, lancement
alors de LaGrosseMacro.

Voici un exemple comment réaliser un fichier VBscript qui va ouvrir excel et exécuter la macro :

Si tu ne veux rien voir à l'écran , mais
oxl.visible = false

Indique le nom et le chemin du classeur à ouvrir où est
ta macro dans la ligne de code :
set Wk = oXL.workbooks.open("c:Mes DocumentsClasseur1.xls")

Pour actionner ta macro , indique le nom de la macro à exécuter.
Dans mon exemple , elle s'appelle "CheckLaDate"
oxl.run "CheckLaDate"

Lorsque tu auras fini ces modifications.
A ) ouvre NotePad.exe
B ) copie ce script dans notepad et
enregistre le fichier dans le répertoire de démarrage ... du système d'exploitation Windows
C ) modifie l'extension .txt pour .vbs


'------------------------------
Dim oXl
Set oXL = WScript.CreateObject("EXCEL.application")
oXL.Visible = True
set Wk = oXL.workbooks.open("c:Mes DocumentsClasseur1.xls")
oxl.run "CheckLaDate"
Wk.save
wk.close
oxl.quit
Set oXL = Nothing
'------------------------------

Et dans un module standard de ton fichier excel, voici un exemple de code que l'on pourrait retrouver :

'-------------------------------
Sub CheckLaDate()

Dim LaDate As Date
Dim Rg As Range

'La date à définir
LaDate = DateSerial(2005, 3, 19)
If Abs(Date - Rg) <= 2 Then
LaGrosseMacro
End If
End Sub
'-------------------------------

Sub LaGrosseMacro()
MsgBox "Bonjour"
End Sub
'-------------------------------


Amuse-toi bien !


Salutations!





"MarcT" a écrit dans le message de news: eiTVF%
Bonjour,
Je ne suis pas un spécialiste ... mais j'ai cru comprendre qu'il était
possible de lancer l'ouverture d'Excel à une date donnée ...
Je voudrai que losqu'on approche d'une date (1 ou 2 j avant) qui se
trouve dans une feuille, le claseur s'ouvre automatiquement au démarage
de l'ordi.
merci d'avance
cordilament
Marc




Avatar
G. L
Bonsoir Denis,
J'ai lu avec intérêt ta proposition, je l'archive avec plaisir car je ne
vais pas tarder à l'expérimenter,
..... pour forcer la main à qqs paresseux ;)
Bravo!
Cordialement
Gérard


"MichDenis" a écrit dans le message de
news:
Bonjour MarcT,

Voici ce que je te propose :

Tu vas devoir créer un fichier ayant une extension .vbs -> appelé VBscript
dans lequel tu vas insérer un bout de code

demandant à windows de l'exécuter à chaque ouverture de l'ordinateur. Pour
ce faire, il s'agit d'insérer ton fichier

Vbscript dans le menu "Démarrage" du système d'exploitations Windows XP.
Ce répertoire est situé là sous Windows XP :


'C:Documents and SettingsAll UsersMenu DémarrerProgrammesDémarrage

Le but de ce fichier est d'exécuter une macro qui va se charger d'ouvrir
une instance d'excel qui a son tour va ouvrir

un fichier excel particulier pour vérifier si la date définie dans une
variable d' une procédure particulière d'un

module donné correspond à un écart entre la date d'aujourd'hui et la date
désirée ( + ou - 2 jours.) , Si oui, lancement

alors de LaGrosseMacro.

Voici un exemple comment réaliser un fichier VBscript qui va ouvrir excel
et exécuter la macro :


Si tu ne veux rien voir à l'écran , mais
oxl.visible = false

Indique le nom et le chemin du classeur à ouvrir où est
ta macro dans la ligne de code :
set Wk = oXL.workbooks.open("c:Mes DocumentsClasseur1.xls")

Pour actionner ta macro , indique le nom de la macro à exécuter.
Dans mon exemple , elle s'appelle "CheckLaDate"
oxl.run "CheckLaDate"

Lorsque tu auras fini ces modifications.
A ) ouvre NotePad.exe
B ) copie ce script dans notepad et
enregistre le fichier dans le répertoire de démarrage ... du système
d'exploitation Windows

C ) modifie l'extension .txt pour .vbs


'------------------------------
Dim oXl
Set oXL = WScript.CreateObject("EXCEL.application")
oXL.Visible = True
set Wk = oXL.workbooks.open("c:Mes DocumentsClasseur1.xls")
oxl.run "CheckLaDate"
Wk.save
wk.close
oxl.quit
Set oXL = Nothing
'------------------------------

Et dans un module standard de ton fichier excel, voici un exemple de code
que l'on pourrait retrouver :


'-------------------------------
Sub CheckLaDate()

Dim LaDate As Date
Dim Rg As Range

'La date à définir
LaDate = DateSerial(2005, 3, 19)
If Abs(Date - Rg) <= 2 Then
LaGrosseMacro
End If
End Sub
'-------------------------------

Sub LaGrosseMacro()
MsgBox "Bonjour"
End Sub
'-------------------------------


Amuse-toi bien !


Salutations!





"MarcT" a écrit dans le message de news:
eiTVF%

Bonjour,
Je ne suis pas un spécialiste ... mais j'ai cru comprendre qu'il était
possible de lancer l'ouverture d'Excel à une date donnée ...
Je voudrai que losqu'on approche d'une date (1 ou 2 j avant) qui se
trouve dans une feuille, le claseur s'ouvre automatiquement au démarage
de l'ordi.
merci d'avance
cordilament
Marc




Avatar
MichDenis
Bonjour G. ,

Tu devras corriger ceci :

LaDate = DateSerial(2005, 3, 19)
If Abs(Date - Rg) <= 2 Then

On devrait plutôt lire
If Abs(Date - LaDate) <= 2 Then

En écrivant la macro, j'ai changé d'idée au lieu d'écrire la date dans une cellule "Rg", je l'ai définie à l'aide d'une
variable... mais je n'ai pas modifié la ligne de code ...;-)


Salutations!



"G. " <sugere~KillPub~@online.fr> a écrit dans le message de news:
Bonsoir Denis,
J'ai lu avec intérêt ta proposition, je l'archive avec plaisir car je ne
vais pas tarder à l'expérimenter,
..... pour forcer la main à qqs paresseux ;)
Bravo!
Cordialement
Gérard


"MichDenis" a écrit dans le message de
news:
Bonjour MarcT,

Voici ce que je te propose :

Tu vas devoir créer un fichier ayant une extension .vbs -> appelé VBscript
dans lequel tu vas insérer un bout de code

demandant à windows de l'exécuter à chaque ouverture de l'ordinateur. Pour
ce faire, il s'agit d'insérer ton fichier

Vbscript dans le menu "Démarrage" du système d'exploitations Windows XP.
Ce répertoire est situé là sous Windows XP :


'C:Documents and SettingsAll UsersMenu DémarrerProgrammesDémarrage

Le but de ce fichier est d'exécuter une macro qui va se charger d'ouvrir
une instance d'excel qui a son tour va ouvrir

un fichier excel particulier pour vérifier si la date définie dans une
variable d' une procédure particulière d'un

module donné correspond à un écart entre la date d'aujourd'hui et la date
désirée ( + ou - 2 jours.) , Si oui, lancement

alors de LaGrosseMacro.

Voici un exemple comment réaliser un fichier VBscript qui va ouvrir excel
et exécuter la macro :


Si tu ne veux rien voir à l'écran , mais
oxl.visible = false

Indique le nom et le chemin du classeur à ouvrir où est
ta macro dans la ligne de code :
set Wk = oXL.workbooks.open("c:Mes DocumentsClasseur1.xls")

Pour actionner ta macro , indique le nom de la macro à exécuter.
Dans mon exemple , elle s'appelle "CheckLaDate"
oxl.run "CheckLaDate"

Lorsque tu auras fini ces modifications.
A ) ouvre NotePad.exe
B ) copie ce script dans notepad et
enregistre le fichier dans le répertoire de démarrage ... du système
d'exploitation Windows

C ) modifie l'extension .txt pour .vbs


'------------------------------
Dim oXl
Set oXL = WScript.CreateObject("EXCEL.application")
oXL.Visible = True
set Wk = oXL.workbooks.open("c:Mes DocumentsClasseur1.xls")
oxl.run "CheckLaDate"
Wk.save
wk.close
oxl.quit
Set oXL = Nothing
'------------------------------

Et dans un module standard de ton fichier excel, voici un exemple de code
que l'on pourrait retrouver :


'-------------------------------
Sub CheckLaDate()

Dim LaDate As Date
Dim Rg As Range

'La date à définir
LaDate = DateSerial(2005, 3, 19)
If Abs(Date - Rg) <= 2 Then
LaGrosseMacro
End If
End Sub
'-------------------------------

Sub LaGrosseMacro()
MsgBox "Bonjour"
End Sub
'-------------------------------


Amuse-toi bien !


Salutations!





"MarcT" a écrit dans le message de news:
eiTVF%

Bonjour,
Je ne suis pas un spécialiste ... mais j'ai cru comprendre qu'il était
possible de lancer l'ouverture d'Excel à une date donnée ...
Je voudrai que losqu'on approche d'une date (1 ou 2 j avant) qui se
trouve dans une feuille, le claseur s'ouvre automatiquement au démarage
de l'ordi.
merci d'avance
cordilament
Marc




Avatar
G. L
Merci Denis, pour la correction
ha oui, on n'était plus dans le bon dim
Cordialement
Gérard


"MichDenis" a écrit dans le message de
news:
Bonjour G. ,

Tu devras corriger ceci :

LaDate = DateSerial(2005, 3, 19)
If Abs(Date - Rg) <= 2 Then

On devrait plutôt lire
If Abs(Date - LaDate) <= 2 Then

En écrivant la macro, j'ai changé d'idée au lieu d'écrire la date dans une
cellule "Rg", je l'ai définie à l'aide d'une

variable... mais je n'ai pas modifié la ligne de code ...;-)


Salutations!



"G. " <sugere~KillPub~@online.fr> a écrit dans le message de news:


Bonsoir Denis,
J'ai lu avec intérêt ta proposition, je l'archive avec plaisir car je ne
vais pas tarder à l'expérimenter,
..... pour forcer la main à qqs paresseux ;)
Bravo!
Cordialement
Gérard


"MichDenis" a écrit dans le message de
news:
Bonjour MarcT,

Voici ce que je te propose :

Tu vas devoir créer un fichier ayant une extension .vbs -> appelé
VBscript


dans lequel tu vas insérer un bout de code
demandant à windows de l'exécuter à chaque ouverture de l'ordinateur.
Pour


ce faire, il s'agit d'insérer ton fichier
Vbscript dans le menu "Démarrage" du système d'exploitations Windows XP.
Ce répertoire est situé là sous Windows XP :


'C:Documents and SettingsAll UsersMenu DémarrerProgrammesDémarrage

Le but de ce fichier est d'exécuter une macro qui va se charger d'ouvrir
une instance d'excel qui a son tour va ouvrir

un fichier excel particulier pour vérifier si la date définie dans une
variable d' une procédure particulière d'un

module donné correspond à un écart entre la date d'aujourd'hui et la
date


désirée ( + ou - 2 jours.) , Si oui, lancement
alors de LaGrosseMacro.

Voici un exemple comment réaliser un fichier VBscript qui va ouvrir
excel


et exécuter la macro :

Si tu ne veux rien voir à l'écran , mais
oxl.visible = false

Indique le nom et le chemin du classeur à ouvrir où est
ta macro dans la ligne de code :
set Wk = oXL.workbooks.open("c:Mes DocumentsClasseur1.xls")

Pour actionner ta macro , indique le nom de la macro à exécuter.
Dans mon exemple , elle s'appelle "CheckLaDate"
oxl.run "CheckLaDate"

Lorsque tu auras fini ces modifications.
A ) ouvre NotePad.exe
B ) copie ce script dans notepad et
enregistre le fichier dans le répertoire de démarrage ... du système
d'exploitation Windows

C ) modifie l'extension .txt pour .vbs


'------------------------------
Dim oXl
Set oXL = WScript.CreateObject("EXCEL.application")
oXL.Visible = True
set Wk = oXL.workbooks.open("c:Mes DocumentsClasseur1.xls")
oxl.run "CheckLaDate"
Wk.save
wk.close
oxl.quit
Set oXL = Nothing
'------------------------------

Et dans un module standard de ton fichier excel, voici un exemple de
code


que l'on pourrait retrouver :

'-------------------------------
Sub CheckLaDate()

Dim LaDate As Date
Dim Rg As Range

'La date à définir
LaDate = DateSerial(2005, 3, 19)
If Abs(Date - Rg) <= 2 Then
LaGrosseMacro
End If
End Sub
'-------------------------------

Sub LaGrosseMacro()
MsgBox "Bonjour"
End Sub
'-------------------------------


Amuse-toi bien !


Salutations!





"MarcT" a écrit dans le message de news:
eiTVF%

Bonjour,
Je ne suis pas un spécialiste ... mais j'ai cru comprendre qu'il était
possible de lancer l'ouverture d'Excel à une date donnée ...
Je voudrai que losqu'on approche d'une date (1 ou 2 j avant) qui se
trouve dans une feuille, le claseur s'ouvre automatiquement au démarage
de l'ordi.
merci d'avance
cordilament
Marc









Avatar
MarcT
Bonjour MichDenis
J'ai réussi a avancer pas mal avec ce que tu m'avais donné. Je coince
sur la modif de la macro checkdate, voici ce que je voudrai réussir à faire:
J'ai un fichier nommé datesclés.xls qui contient dates de naissance et
évènements importants à suivre pour la structure.
Je voudrai que le classeur s'ouvre les jours J-2; J-1; J pour être sur
que l'évènement est pris en compte.
Si aucune des dates n'est dans ce cas pas d'ouverture.
Comme certaine dates sont des anniversaires il faudrait pouvoir prendre
en compte que le jour et le mois. les autres dates concernent l'année en
cours.
J'espère que mes explications sont suffisament claires
merci de ton aide
cordialement
Marc

Bonjour G. ,

Tu devras corriger ceci :

LaDate = DateSerial(2005, 3, 19)
If Abs(Date - Rg) <= 2 Then

On devrait plutôt lire
If Abs(Date - LaDate) <= 2 Then

En écrivant la macro, j'ai changé d'idée au lieu d'écrire la date dans une cellule "Rg", je l'ai définie à l'aide d'une
variable... mais je n'ai pas modifié la ligne de code ...;-)


Salutations!



"G. " <sugere~KillPub~@online.fr> a écrit dans le message de news:
Bonsoir Denis,
J'ai lu avec intérêt ta proposition, je l'archive avec plaisir car je ne
vais pas tarder à l'expérimenter,
..... pour forcer la main à qqs paresseux ;)
Bravo!
Cordialement
Gérard


"MichDenis" a écrit dans le message de
news:

Bonjour MarcT,

Voici ce que je te propose :

Tu vas devoir créer un fichier ayant une extension .vbs -> appelé VBscript


dans lequel tu vas insérer un bout de code

demandant à windows de l'exécuter à chaque ouverture de l'ordinateur. Pour


ce faire, il s'agit d'insérer ton fichier

Vbscript dans le menu "Démarrage" du système d'exploitations Windows XP.


Ce répertoire est situé là sous Windows XP :

'C:Documents and SettingsAll UsersMenu DémarrerProgrammesDémarrage

Le but de ce fichier est d'exécuter une macro qui va se charger d'ouvrir


une instance d'excel qui a son tour va ouvrir

un fichier excel particulier pour vérifier si la date définie dans une


variable d' une procédure particulière d'un

module donné correspond à un écart entre la date d'aujourd'hui et la date


désirée ( + ou - 2 jours.) , Si oui, lancement

alors de LaGrosseMacro.

Voici un exemple comment réaliser un fichier VBscript qui va ouvrir excel


et exécuter la macro :

Si tu ne veux rien voir à l'écran , mais
oxl.visible = false

Indique le nom et le chemin du classeur à ouvrir où est
ta macro dans la ligne de code :
set Wk = oXL.workbooks.open("c:Mes DocumentsClasseur1.xls")

Pour actionner ta macro , indique le nom de la macro à exécuter.
Dans mon exemple , elle s'appelle "CheckLaDate"
oxl.run "CheckLaDate"

Lorsque tu auras fini ces modifications.
A ) ouvre NotePad.exe
B ) copie ce script dans notepad et
enregistre le fichier dans le répertoire de démarrage ... du système


d'exploitation Windows

C ) modifie l'extension .txt pour .vbs


'------------------------------
Dim oXl
Set oXL = WScript.CreateObject("EXCEL.application")
oXL.Visible = True
set Wk = oXL.workbooks.open("c:Mes DocumentsClasseur1.xls")
oxl.run "CheckLaDate"
Wk.save
wk.close
oxl.quit
Set oXL = Nothing
'------------------------------

Et dans un module standard de ton fichier excel, voici un exemple de code


que l'on pourrait retrouver :

'-------------------------------
Sub CheckLaDate()

Dim LaDate As Date
Dim Rg As Range

'La date à définir
LaDate = DateSerial(2005, 3, 19)
If Abs(Date - Rg) <= 2 Then
LaGrosseMacro
End If
End Sub
'-------------------------------

Sub LaGrosseMacro()
MsgBox "Bonjour"
End Sub
'-------------------------------


Amuse-toi bien !


Salutations!





"MarcT" a écrit dans le message de news:


eiTVF%

Bonjour,
Je ne suis pas un spécialiste ... mais j'ai cru comprendre qu'il était
possible de lancer l'ouverture d'Excel à une date donnée ...
Je voudrai que losqu'on approche d'une date (1 ou 2 j avant) qui se
trouve dans une feuille, le claseur s'ouvre automatiquement au démarage
de l'ordi.
merci d'avance
cordilament
Marc