XL 2010 Macro auto dès ouverture Excel

muhrtag

XLDnaute Nouveau
Bonjour,

J'ai un petit problème et besoin de votre aide !

J'ai un fichier Excel qui permet de suivre les contrats qui arrivent à terme dans une entreprise. J'ai alors une macro qui permet de trier les dates de fin des contrats, de les compter et d'envoyer un mail au responsable avec le nombre de contrat arrivant à terme dans les 3 prochains jours. Jusqu'ici tout fonctionne

Je voudrais que ce fichier se mette à jour dès l'ouverture du PC. J'ai donc planifié une tâche avec le planificateur de tâche windows qui ouvre le fichier au démarrage de l'ordinateur. J'ai également été dans le code de l'ouverture du fichier mais je coince... La seule chose que j'ai réussi à faire, c'est lancer la macro automatique dès l'ouverture de ce fichier ou à une heure précise... Dans un cas, des mails partiraient à chaque ouverture du fichier (le destinateur va devenir fou ) et dans l'autre il est nécessaire d'avoir démarrer l'ordinateur AVANT l'heure indiqué de début de la macro.

J'espère que jusqu'ici mes explications sont claires

Dans l'absolu je voudrais que la macro se déclenche seulement à la première ouverture de la journée
Est-ce que c'est faisable ? Pensez vous à une autre solution ?

Merci !
 

muhrtag

XLDnaute Nouveau
Oui oui c'est une bonne piste, je compte enregistrer la date du jour à la fermeture du fichier. A son ouverture il compare la date de dernière ouverture à celle du jour et lance la macro automatiquement si la date est égale ! Ca devrait marcher... Je teste et je vous tiens au courant !
 

muhrtag

XLDnaute Nouveau
La solution a l'air de fonctionner ! Merci pour l'aide Dranreb. Je met le code pour ceux qui chercheraient comme moi :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

'Renseigne la date du jour dans une cellule à la fermeture du fichier
Dim today As Date
today = Date

Worksheets("Nom de la feuille").Range("cellule").Value = today

End Sub


Private Sub Workbook_Open()

Dim today As Date
today = Date

'Si la date de la dernière ouverture du fichier est différente de celle d'aujourd'hui alors on déclenche la macro de mise à jour
If Worksheets("Nom de la feuille").Range("cellule").Value = today Then
Else: Application.Run ("ma macro")
End If

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 910
Membres
101 837
dernier inscrit
Ugo