Onglets par plages horaire

Résolu/Fermé
freddv - 11 déc. 2008 à 10:36
 dy - 11 déc. 2008 à 14:14
Bonjour,

Je voudrais faire une macro qui ouvre mon classeur sur le bon onglet suivant la plage horaire.
De 6h00 à 12h00 ouvre l'onglet matin
De 12h00 à 20h00 ouvre l'onglet apres-midi
De 20h00 à 6h00 le lendemain matin ouvre l'onglet nuit


Merci pour vos connaissances, car les miennes ne sont pas assez suffisante pour résoudre ce probléme.

4 réponses

slt je ne vois pas trop l'interret de ta macro ! :)
à mon avie en un clic tu pourrais l'ouvrir plus rapidement qu'une macro
bon j'ais un tout petit peu de connaissance ca devrais faire un truc du genre


sub public ouvreonglet()

Dim temps As Date
Dim matinmin As Variant
Dim matinmax As Date
Dim apresmidimin As Variant
Dim apresmidimax As Variant
Dim nuitmin As Variant
Dim nuitmax As Variant
temps = Time


matinmin = "06:00:00"
matinmax = "12:00:00"
apresmidimin = "12:00:00"
apresmidimax = "20:00:00"
nuitmin = "20:00:00"
nuitmax = "06:00:00"


If temps >= matinmin And temps < matinmax Then
Sheets("matin").Activate
ElseIf temps >= apresmidimin And temps < apresmidimax Then
Sheets("apres-midi").Activate
ElseIf temps >= nuitmin And temps < nuitmax Then
Sheets("nuit").Activate
End If

end sub


j'ais créer des varaible pour les horraires je trouve ca plus visible si tu veus les changer
0
ca fonctionne, merci beaucoup de m'avoir accordé un peu de votre temps bonne fetes de fin d'année a vous et vos proches.
0
A priori cela ne fonctionne pas pour la nuit, j'ai changé la variable 6:00:00 par 05:59:59 mais toujours pas.
Sub ouvreonglet()

Dim temps As Date
Dim matinmin As Variant
Dim matinmax As Date
Dim apresmidimin As Variant
Dim apresmidimax As Variant
Dim nuitmin As Variant
Dim nuitmax As Variant
temps = Time


matinmin = "06:00:00"
matinmax = "12:00:00"
apresmidimin = "12:00:00"
apresmidimax = "20:00:00"
nuitmin = "20:00:00"
nuitmax = "05:59:59"


If temps >= matinmin And temps < matinmax Then
Sheets(" planning matin").Activate
ElseIf temps >= apresmidimin And temps < apresmidimax Then
Sheets(" planning am").Activate
ElseIf temps >= nuitmin And temps < nuitmax Then
Sheets("planning nuit").Activate
End If

End Sub
0
j'ai trouvé en cherchant un peu. Merci à dy pour son soutien.

Sub ouvreonglet()

Dim temps As Date
Dim matinmin As Variant
Dim matinmax As Date
Dim apresmidimin As Variant
Dim apresmidimax As Variant
Dim nuitmin As Variant
Dim nuitmax As Variant
Dim nuit1min As Variant
Dim nuit1max As Variant
temps = Time


matinmin = "06:00:00"
matinmax = "12:00:00"
apresmidimin = "12:00:00"
apresmidimax = "20:00:00"
nuitmin = "20:00:00"
nuitmax = "23:59:59"
nuit1min = "00:00:00"
nuit1max = "05:59:59"

If temps >= matinmin And temps < matinmax Then
Sheets(" planning matin").Activate
ElseIf temps >= apresmidimin And temps < apresmidimax Then
Sheets(" planning am").Activate
ElseIf temps >= nuitmin And temps < nuitmax Then
Sheets(" planning nuit").Activate
ElseIf temps >= nuit1min And temps < nuit1max Then
Sheets(" planning nuit").Activate


End If

End Sub
0
de rien :)
0