Onglets par plages horaire

Résolu
freddv -  
 dy -
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.
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. dy
     
    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
  2. freddv
     
    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
  3. freddv
     
    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
  4. freddv
     
    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
    1. dy
       
      de rien :)
      0