Sélectionner une ligne et se positionner à la date du jour

Bonjour à tous,

Je suis bloqué dans l'écriture de ma macro.

En effet, quand je reviens sur mon onglet "Sales Chart", je souhaite être positionné directement à la date du jour.

A partir de C16 se trouve ma première date et ainsi de suite jusqu'au 31 décembre 2022.

Sheets("SALES CHART").Select

Range("C16").Select

Range(Selection, Selection.End(xlToRight)).Select

If cell.Value = [Today()] Then

cell.Select

End If

Merci par avance pour votre aide !!

Bonne journée,

YggyPop, jeune apprenti Excel

ligne avec date

Bonjour,

Votre syntaxe est un peu lourde, et surtout pas correcte sur la dernière partie (cell ne désigne rien, en l'état) !

Une proposition :

Sub Test()

Dim Rech As Range

Set Rech = Sheets("SALES CHART").Range("C16:CCC16").Find(Date, LookAt:=xlPart, LookIn:=xlValues)
If Not Rech Is Nothing Then Rech.Activate

End Sub

Bonjour,

à tester,

Sub test()
Dim dt As Double
Set sh = Sheets("SALES CHART")
dt = Date
x = Application.Match(dt, sh.Range("16:16"), 0)
Application.Goto sh.Cells(16, x)
End Sub

Bonjour,

Une proposition.

Cdlt.

6yggypop.xlsm (18.08 Ko)
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim x As Long, n
    If Sh.Name = "SALES CHART" Then
        x = CLng(VBA.Date)
        n = Application.Match(x, Sh.Columns(3), 0)
        If Not IsError(n) Then Sh.Cells(n, 3).Select
    End If
End Sub

Re-Bonjour,

Merci à tous pour vos retours.

J'ai essayer d'intégrer vos retours mais ça ne fonctionne pas malheureusement. Je pense que j'ai du mal expliquer ma problématique. Je peux vous envoyer un lien WeTransfer de mon fichier en entier ? https://we.tl/t-clbnegSrEo

Merci par avance

Ci-après la macro entière; seule la partie en Bleu doit être changée :

Sub CopierColler()

'copier coller tarifs + ouvertures fermetures dans onglet sales chart : réinitialisation changements

Sheets("SALES CHART").Activate

Range("D32:BMD54").Select

Selection.Copy

Range("D80").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Application.CutCopyMode = False

'copier coller cales dans onglet changements de cales

Range("C32").Select

Range(Selection, Selection.End(xlToRight)).Select

Selection.Copy

Sheets("CHANGEMENTS DE CALES").Select

Range("D7").Select

Range(Selection, Selection.End(xlToRight)).Select

Selection.Insert Shift:=xlDown

Range("D7").Select

Application.CutCopyMode = False

ActiveCell.FormulaR1C1 = "=TODAY()"

Range("D7").Select

Selection.Copy

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Application.CutCopyMode = False

Range("D8").Select

Range(Selection, Selection.End(xlToRight)).Select

Selection.Copy

Range("D7").Select

Range(Selection, Selection.End(xlToRight)).Select

Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

Application.CutCopyMode = False

Sheets("SALES CHART").Select

Range("C16").Select

Range(Selection, Selection.End(xlToRight)).Select

If cell.Value = [Today()] Then

cell.Select

End If

Calculate

End Sub

Salut YGGYPOP,

Salut l'équipe,

Code à coller tel quel dans le module VBA de 'SALES CHART'.

Private Sub Worksheet_Activate()
'
Range("D16").Offset(0, DateDiff("d", CDate(Range("D16").Value), Date)).Select
'
End Sub

A+

Salut YGGYPOP,

Salut l'équipe,

Code à coller tel quel dans le module VBA de 'SALES CHART'.

Private Sub Worksheet_Activate()
'
Range("D16").Offset(0, DateDiff("d", CDate(Range("D16").Value), Date)).Select
'
End Sub

A+

Bonjour Curulis,

Merci pour votre retour. Je ne suis pas sur de comprendre où je dois l'insérer ...

Salut YGGYPOP,

c'est pourtant clair !

Dans l'explorateur de projet, tu double-cliques sur la feuille 'SALES CHART' et le module VBA de cette feuille s'ouvre à droite.

Tu y colles le code.

Peux-tu expliquer ce que tu fais dans ta macro ? Pas envie de décortiquer tous ces SELECT...

A+

Rechercher des sujets similaires à "selectionner ligne positionner date jour"