Macro heure système

WartelleH Messages postés 1 Date d'inscription lundi 18 juillet 2011 Statut Membre Dernière intervention 22 juillet 2011 - 22 juil. 2011 à 21:02
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 22 juil. 2011 à 22:04
Bonjour,
Le calendrier que j'ai créé s'ouvre automatiquement à la date du jour grâce à cette macro à l'ouverture :
Dim Col As Integer, DerCol As Integer, LibFMois(12)
Dim DateJ As Date, Sht As Worksheet
' Définir le tableau des libellés des feuilles mois
LibFMois(1) "janv": LibFMois(2) "Fev": LibFMois(3) = "Mars": LibFMois(4) = "Avr": LibFMois(5) = "Mai": LibFMois(6) = "juin": LibFMois(7) = "juil": LibFMois(8) = "Août": LibFMois(9) = "sept": LibFMois(10) = "Oct": LibFMois(11) = "nov": LibFMois(12) = "dec":
DateJ = Format(Now(), "dd/mm/yyyy")
' Définir la feuille en fonction de son libellé du mois
Set Sht = Sheets(LibFMois(Month(Now())))
' Avec la feuille en question
With Sht
' La sélectionner
.Select
' Déterminer la dernière colonne
DerCol = .Cells(1, Columns.Count).End(xlToLeft).Column
' Pour toutes les colonnes par lot de 4
For Col = 9 To DerCol Step 4
' Trouver celle correspondant à la date du jour
If DateValue(.Cells(1, Col)) = DateJ Then
' Si trouvée, la séectionner
.Cells(1, Col).Select
Exit For
End If
Next Col
End With

Je voudrai maintenant, une fois la date système trouvée et sélectionnée, que la cellule qui correspond aux plages horaires et définies par des listes de validation dans les lignes qui vont de 4 à 26 (mais bien sûr, la colonne change chaque jour), soit sélectionée automatiquement selon l'heure système du PC.

Est-ce faisable et qui peut m'aider ? D'avance merci


HW

1 réponse

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 juil. 2011 à 22:04
Bonjour,
1) regarde d'abord ce qu'affiche ceci :
msgbox Format(Now, "mmm")

voilà qui te soulage de la nécessité de ton array LibFMois
2) évite les select (alourdissants et inutiles)
3) ouvre ton aide VBA sur la fonction Find

Reviens en n'oubliant pas de mettre ton code entre balises code, s'il te plait.
On verra le reste ensuite, promis.

____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
Rejoignez-nous