Ouverture classeur à la date du jour

  • Initiateur de la discussion Initiateur de la discussion Maxou 34
  • 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 !

Re : Ouverture classeur à la date du jour

Bonjour Maxou 34, bonjour le forum,

J'ai rajouté dans ton fichier un macro d'ouverture Workbook_Open qui se trouve dans le module ThisWokbook. Dès lors, tu auras un message à l'ouverture te prévenant que le fichier contient des macros. Message normal auquel tu devras répondre que tu acceptes les macros si tu veux que celles-ci agissent...

pour info la macro :

Code:
Private Sub Workbook_Open()
 
Dim moisn As Byte 'déclare la variable moisn
Dim mois As String 'déclare la variable mois
Dim cel As Range 'déclare la variable cel
 
moisn = Month(Date) 'définit la variable mois
 
'définit la variable mois en fonction de la valeur de moins
Select Case moisn
    Case 1
        mois = "Janvier"
    Case 2
        mois = "Février"
    Case 3
        mois = "Mars"
    Case 4
        mois = "Avril"
    Case 5
        mois = "Mai"
    Case 6
        mois = "Juin"
    Case 7
        mois = "Juillet"
    Case 8
        mois = "Août"
    Case 9
        mois = "Septembre"
    Case 10
        mois = "Octobre"
    Case 11
        mois = "Novembre"
    Case 12
        mois = "Décembre"
End Select
 
Sheets(mois).Select 'sélectionne l'onglet correspondant au mois
 
'boucle sur toutes les cellules de la colonne A
For Each cel In Range("A6:A" & Range("A6").End(xlDown).Row)
    If DateValue(cel) = Date Then 'Condition : si la date de la cellule correspond à la date du jour
        cel.Offset(0, 1).Select 'sélectionne la cellule à coté colonne B
        Exit Sub 'sort de la procédure
    End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
 
End Sub
 

Pièces jointes

Re : Ouverture classeur à la date du jour

En te remerciant Robert

En plus nous sommes voisins, je suis à Montpellier


Puis je copier cette macro pour l'utiliser dans d'autre classeurs.

🙂 🙂 🙂 🙂
 
Re : Ouverture classeur à la date du jour

Bonsoir Maxou de Montpeul, JP, bonsoir le forum,

Maxou... Oui bien sûr sinon ce forum n'aurait plus aucun intêret.

JP... je suis vert ! Quand j'ai ouvert ton fichier et que j'ai commencé à lire les codes je me suis dit "mais non celui-là c'est le mien". Je l'ai fermé et j'ai recommencé... Lol...
 
Re : Ouverture classeur à la date du jour

Bonsoir


Pour la sélection de l'onglet en cours (y' a plus court, lol)

Sub Macro1()
Dim moisencours As String
moisencours = Format(Date, "mmmm")
Sheets(moisencours).Select
End Sub

Ce qui donne en utilsant la macro de Robert
(je m'excuse d'avoir pris le droit de modifier ta macro
mais je l'ai fait sans lui faire de mal)
Code:
Sub Workbook_Open()

Dim moisencours As String
moisencours = Format(Date, "mmmm")
Sheets(moisencours).Select 'sélectionne l'onglet correspondant au mois
 
'boucle sur toutes les cellules de la colonne A
For Each cel In Range("A6:A" & Range("A6").End(xlDown).Row)
    If DateValue(cel) = Date Then 'Condition : si la date de la cellule correspond à la date du jour
        cel.Offset(0, 1).Select 'sélectionne la cellule à coté colonne B
        Exit Sub 'sort de la procédure
    End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
 
End Sub
 
Dernière édition:
Re : Ouverture classeur à la date du jour

Bonsoir à tous

une autre solution, pour le fun, si l'orthographe des mois est scrupuleusement respecté (accents).

Code:
Option Explicit
Private Sub Workbook_Open()
Dim cel As Range
Sheets(MonthName(Month(Date))).Activate
Set cel = Columns("A:A").Find(Date)
If Not cel Is Nothing Then cel.Select
End Sub

bonne soirée
@+
 
Re : Ouverture classeur à la date du jour

Bonsoir le forum,

Merci Staple. C'est ce que j'adore dans ce forum. L'entraide qui nous permet d'apprendre et de nous perfectionner.

Maxou, l'événement Open que l'on trouve dans le module ThisWorkbook (la macro Open d'un classeur si tu préfères) permet justement de faire agir du code à l'ouverture du classeur.

Si tu vas dans VBE, l'éditeur de Visual Basic. Dans la petite fenêtre en haut à gauche tu vois la liste des Objets VBA. Les onglets Feuil1(Feuil1), etc..., le classeur Thisworkbook, et éventuellement des UserForm (dans le module Feuilles) ou des macros (dans le module Modules). En fonction de l'objet que tu auras sélectionné, tu trouveras dans le grand cadre à droite deux boites à liste déroulantes. La première répertorie les objets accessibles et la seconde les procédures événementielles (les macros) que tu peux appliquer à cet objet.

l'objet ThisWorkbook (le classeur) accepte par exemple les procédures Open et Close tandis que l'objet onglet Feuil1(Feuil1) n'accepte pas ces deux procédures mais accepte le procédures Activate, Change, etc...

Si tu places du code dans une de ces procédures il agira à l'événement indiqué. À l'ouverture du classeur, Au changement d'onglet, etc... On les appelles "macro événementielles".
 
Re : Ouverture classeur à la date du jour

Bonjour je remercie tous ceux qui se sont penchés sur mon petit problème, je crois que je vais me mettre sérieusement à bosser VBA, en tous cas cela m'aura donné l'occasion de voir qu'il y a plein de solutions pour un problème donné.

Une fois de plus merci à tous.

😉 😉 😉 😉
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
18
Affichages
722
Réponses
1
Affichages
282
W
Réponses
3
Affichages
256
Retour