Je lutte sur un bout de code depuis quelque temps.
Je souhaiterais qu'à l'ouverture, Excel fasse appel à la macro "Programmation" uniquement s'il est entre 3h et 6h du matin. Si ça n'est pas le cas, je souhaiterais que rien ne se passe.
Or, actuellement Excel appelle "Programmation" peu importe l'heure.
Voilà mon code :
Code:
Private Sub Workbook_Open()
Heure = Now
If 0.125 < Heure < 0.25 Then
Call Programmation
Else: Exit Sub
End If
End Sub
Si vous le souhaitez, je pourrais mettre un fichier en pièce jointe mais pas avant cette après-midi
Merci d'avance pour votre aide,
fx62
Re : Si heure actuelle comprise entre 3h et 6h alors ...
Hasco et Robert, je n'ai pas le résultat attendu avec vos solutions mais merci tout de même de m'avoir répondu.
Papou-net, ta solution fonctionne parfaitement. J'ai vérifié en changeant l'heure du PC pour en être sûr.
Voilà donc le code corrigé :
Code:
Private Sub Workbook_Open()
If Time > "03:00" And Time < "06:00" Then
Call Programmation
Else: Exit Sub
End If
End Sub
Par contre j'ai pu remarquer que la ligne Else: Exit Sub n'était pas indispensable. En effet avec ou sans celle-ci, le résultat est le même.
Est-ce normal ?
Par contre j'ai pu remarquer que la ligne Else: Exit Sub n'était pas indispensable. En effet avec ou sans celle-ci, le résultat est le même.
Est-ce normal ?fx62
Oui, c'est tout-à-fait normal : puisqu'il n'y a pas d'instruction après le Else, la macro se termine d'elle-même.
Le code en 3 lignes, tel que je te l'ai proposé, est parfaitement opérationnel. Tu pouvais le retranscrire tel quel sans modification.