Ouverture classeur à la date du jour

Maxou 34

XLDnaute Nouveau
Bonsoir

Comment faire pour qu'à l'ouverture du classeur, il se positionne automatiquement dans le bon mois et dans la colonne B au bon jour

Merci d'avance.
 

Pièces jointes

  • Entrées+Bar C.A. 2007.zip
    14.5 KB · Affichages: 32
  • Entrées+Bar C.A. 2007.zip
    14.5 KB · Affichages: 32
  • Entrées+Bar C.A. 2007.zip
    14.5 KB · Affichages: 32

Robert

XLDnaute Barbatruc
Repose en paix
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

  • Entrées+Bar C.A. 2007_v1.zip
    24.5 KB · Affichages: 28

jp14

XLDnaute Barbatruc
Re : Ouverture classeur à la date du jour

Bonsoir

Ci joint un fichier avec une macro "open" qui devrait répondre au problème.


JP
 

Pièces jointes

  • Entrées+Bar C.A. 2007.zip
    24.8 KB · Affichages: 35
  • Entrées+Bar C.A. 2007.zip
    24.8 KB · Affichages: 34
  • Entrées+Bar C.A. 2007.zip
    24.8 KB · Affichages: 33

Robert

XLDnaute Barbatruc
Repose en paix
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...
 

Staple1600

XLDnaute Barbatruc
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:

Pierrot93

XLDnaute Barbatruc
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
@+
 

Robert

XLDnaute Barbatruc
Repose en paix
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".
 

Maxou 34

XLDnaute Nouveau
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.

;) ;) ;) ;)
 

Discussions similaires

Réponses
2
Affichages
226
Réponses
2
Affichages
160
Réponses
8
Affichages
272

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 854
Membres
103 975
dernier inscrit
denry