Macro pour afficher la date du jour

Bonjour ,

Je suis absolument novice dans le langage VBA .

Je m'explique pas simple , j'aimerai à l'aide d'une macro pouvoir afficher la date du jour lors de l'ouverture du fichier.Dans la colonne D J'ai noté une date ex: 1JANVIER 2010 et jai fait glisser j"usqu'en 2017 .Je souhaiterai donc à l'ouverture du fichier pouvoir détecter la date jour dans la liste la l'aide d'un bouton .

En vous remerciant de l'aide que vous pourrez m'apporter

Bonjrour,

Voici la macro que j'ai placé à l'ouverture du fichier, on sélectionne la 1ère feuille du classeur car il a pu être fermé sur une autre, tant que en colonne A je n'ai pas la date du jour (fonction Date en VBA) alors on descend d'une ligne, un e fois trouvée je la sélectionne.

Private Sub Workbook_Open()

Sheets(1).Select

LIGNE = 1
While Range("A" & LIGNE) <> Date
    LIGNE = LIGNE + 1
Wend
Range("A" & LIGNE).Select

End Sub

A+

1'077date.zip (12.82 Ko)

Re-bonjour ,

Merci pour votre première réponse .

Pour faire plus simple enfin pour moi, je vous joins mon fichier.Pouvez vous associer la macro au bouton aujourd'ui afin "d' actualiser "la page sur la case ou se trouve la date du jour .

Merci par avance , je vous essayer de comprendre au mieu les possibilités que vous proposerez.

Bonjour,

tu as oublier le fichier !

édit: si tu mets un bouton, on ne parle plus d'ouverture

Amicalement

Claude

Voilà le fichier

MERCI

736bloc-notes-sl.zip (17.88 Ko)

re,

Fichier en retour

bonne journée

Claude

Merci beaucoup

Est-ce possible d'afficher la case datejour d'une couleur différente ?

merci

Bonsoir,

Une autre syntaxe, qui évite une formule dans une cellule....

Edit, et en fonction de la cellule sélectionnée, tu pourrais tout simplement affecter une couleur via une Mise en Forme Conditionnelle, du style :

=$D7=AUJOURDHUI()

En ayant sélectionné les cellules de D7 à Dxxx (xxx représentant ta dernière ligne renseignée....)

Pour le code, dans le "ThisWorkBook" :

Private Sub Workbook_Open()
Dim MaDate As Long
MaDate = Date
With Sheets("DDQE")
    Application.Goto .Cells(Application.Match(MaDate, .Columns(4), 0), 1), True
End With
End Sub

Bonne soirée

re,

Remplace mon code précédent par celui-ci

Sub DateJour()
    Range("a1") = "=MATCH(TODAY(),d:d)"
    Columns(4).Interior.ColorIndex = xlNone
    With Cells(Range("a1"), "d")
        .Activate
        .Interior.ColorIndex = 6
    End With
    Range("a1").ClearContents
End Sub

cousinhub, ja n'arrive pas à mettre une variable pour éviter Range("a1") !

Amicalement

Claude

Re-,

Claude, tu as du remarquer que j'avais déclaré ma variable "MaDate", en "Long"....

Fais un essai...

Bonne journée

re,

Ok cousinhub, vu

dommage qu'on ne puisse pas mettre directement "Date" dans le Match...

dans le ThisWorkbook

Private Sub Workbook_Open()
    Call DateJour
End Sub

dans un module

Sub DateJour()
Dim Lg%, D&
    D = Date
    Sheets("DDQE").Activate
    Lg = Application.Match(D, Columns(4), 0)

    Columns(4).Interior.ColorIndex = xlNone
    Cells(Lg, "d").Interior.ColorIndex = 6
    Application.Goto Cells(Lg, "a"), Scroll:=True
End Sub

Amicalement

Claude

édit: code et fichier modifiés

Re-,

dommage qu'on ne puisse pas mettre directement "Date" dans le Match...

Ben si, mais comme une date est considérée par Excel comme un nombre....c'est bien plus facile....

A la rigueur, tu peux mettre :

With Sheets("DDQE")
    Application.Goto .Cells(Application.Match(CLng(Date), .Columns(4), 0), 1), True
End With

PS, dans ton code, tu colories la date du jour, OK, mais demain?

La date de la veille va rester en couleur....

D'où la MFC.....(bien plus simple qu'un code.....)

Bon W-E

Edit, annule, pas vu la mise à "xlNone" de la colonne 4..., sorry.

Mais je persiste, une MFC est bien plus facile...

re cousinhub,

dans ton code, tu colories la date du jour, OK, mais demain?

non, j'enlève la couleur avant sur la colonne

mais c'est vrai qu'une MFC ferait très bien l'affaire

J'ai changé mon code et le fichier pour le Scroll:=True

Bonne journée

Claude

Bonsoir ,

Désolé de ne pas avoir répondu . Du coup pour j'ai utilisé la mise en forme conditionnelle pour différencier la cellule date , j'essayerai tout de meme votre deuxième code.

Merci encore

-- 02 Oct 2010, 20:53 --

Bonsoir ,

Claude , je n'ai pas utilisé votre deuxième code mais la mise en forme conditionnelle (j'essayerai tout de meme le code 2)

C'est exactement ce que je souhaitais .

Merci , j'espère avoir répondu sur le bon poste

-- 02 Oct 2010, 21:18 --

Claude,

Je n'avais pas vu que tu avais modifié le fichier(phase 2). Je viens de le télécharger à l'instant, nickel du coup la case se positionne mieux (haut du tableau plus le code couleur parfait pour moi.

Merci

Si ok, pour solder le poste c'est ici

a resolu2
Rechercher des sujets similaires à "macro afficher date jour"