[RESOLU] Sélection d'une cellule à l'ouverture du classeur en fonction de l'heure

  • Initiateur de la discussion Initiateur de la discussion hypo78
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

hypo78

XLDnaute Impliqué
Bonsoir,

j'ai une petite macro qui me permet à l'ouverture de mon classeur de sélectionner la cellule dans l'onglet du mois et la colonne du jour.
Code:
Sub Auto_Open()
'
' Macro1 Macro


  Dim Maintenant As Date
    Dim Nom As String
    Dim Cellule As Range
    Dim Colonne As Integer
    
    Dim AnneeClasseur As Integer
    
    Dim Annee As Integer
    Dim Mois As Integer
    Dim Jour As Integer
    
    AnneeClasseur = CInt(Left(Sheets(1).Name, 4))
    
    Maintenant = Date
    Annee = Year(Maintenant)
    Mois = Month(Maintenant)
    Jour = Day(Maintenant)
    
    If Annee = AnneeClasseur Then
    

            Nom = Format(Maintenant, "yyyy-mm")
            Colonne = (6 + ((Jour * 2)) - 1)
    
        Sheets(Nom).Select
        Set Cellule = Cells(6, Colonne)
        Cellule.Select
        
    End If 'Annee = AnneeClasseur

End Sub


chaque jour du mois comporte 2 colonnes : 1 pour la journée et l'autre pour la nuit.
Ce que je souhaiterai : que si j'ouvre mon classeur entre 7h00 et 19h il s'ouvre comme actuellement et que si je l'ouvre après 19h on décale de 1 colonne.

Merci d'avance.
 
Dernière édition:
Re : [RESOLU] Sélection d'une cellule à l'ouverture du classeur en fonction de l'heur

Re bonjour eriiiic,

juste pour ma "culture" VBA, peux tu m'expliquer la logique du : - (Hour(Time) >= 19) * 1 qui renvoie 0 avant 19h et qui ajoute 1 après 19h.

je pense : si l'heure du moment est inférieur à 19h (Hour(Time)>=19) renvoie Faux autrement il renvoie Vrai.

Il me reste à comprendre le +1 au niveau de colonne quand l'argument est vrai.... alors que çà commence par un moins (-)

Ecrit comme çà je comprends : Colonne = (6 + (Jour * 2) - (1 - (Hour(Time) >= 19) * 1))

merci d'avance.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
174
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
563
Réponses
3
Affichages
685
Retour