Macro activer cellule hier

Résolu
mchotard Messages postés 451 Date d'inscription   Statut Membre Dernière intervention   -  
mchotard Messages postés 451 Date d'inscription   Statut Membre Dernière intervention   - 23 mai 2025 à 09:31

Bonjour

Mon fichier comporte en A tous les jours de l'année et en B les montant que je dois entrer

Voilà j'ai cette macro qui me sélection bien la cellule à coté de la date d'aujourd'hui.

Sub Aujourdhui()
Dim i As Integer
i = Application.WorksheetFunction.Match(CLng(Date) - 1, Range("A:A"), 0)
Range("A" & i).Activate
ActiveCell.Offset(1, 1).Select
End Sub

Mais comme je rentre mes données à la date d'hier, je ne vois pas comment modifier ma macro.

J'ai tout essayé 

ActiveCell.Offset(-1, 1).Select et autre mais rien ne fonctionne.

Pouvez-vous corriger ma macro

Grand merci

A voir également:

4 réponses

PapyLuc51 Messages postés 4490 Date d'inscription   Statut Membre Dernière intervention   1 473
 

Bonjour

Si j'ai bien compris il faut sélectionner la cellule B en face de la date du 23 mai par rapport à la date d''aujourd'hui 22 mai.

Je ne suis pas un cador en macro mais après plusieurs essais j'ai trouvé ceci : remplacer le -1 en +1 après (date) et le 1 par 0 sur la dernière ligne

Sub Aujourdhui()
Dim i As Integer
i = Application.WorksheetFunction.Match(CLng(Date) + 1, Range("A:A"), 0)
Range("A" & i).Activate
ActiveCell.Offset(0, 1).Select
End Sub

Cordialement
 

0
mchotard Messages postés 451 Date d'inscription   Statut Membre Dernière intervention   43
 

Merci Papyluc51

J'ai appliquer ta formule, mais sans succès. Par contre j'ai bien pris en compte de mettre +1

mais dans par contre j'ai 

ActiveCell.Offset(0, 1).Select par ActiveCell.Offset(-2, 1).Select

Et cela fonctionne bien désormais. Merci de m'avoir mis sur la bonne route

Bonne soirée et au plaisir peut-être

0
PapyLuc51 Messages postés 4490 Date d'inscription   Statut Membre Dernière intervention   1 473
 

Bonjour mchotard

Tout dépend de ce que tu veux réellement mais entre ton premier code (où il faut remplacer le 1 par 0 pour le décalage des lignes : ActiveCell.Offset(0, 1)) et celui que tu expliques dans ton dernier post c'est la même chose.

Voici les différents essais que j'ai fait :

Sub Aujourdhui()
Dim i As Integer
i = Application.WorksheetFunction.Match(CLng(Date) + 1, Range("A:A"), 0)
Range("A" & i).Activate 'sélectionne la date d'aujourd'hui + 1 jour
ActiveCell.Offset(0, 1).Select 'déplace la sélection d' 1 colonne vers la droite
End Sub

Ça sélectionne la cellule B en regard de la date de demain

Sub Aujourdhui()
Dim i As Integer
i = Application.WorksheetFunction.Match(CLng(Date) , Range("A:A"), 0)
Range("A" & i).Activate 'sélectionne la date d'aujourd'hui
ActiveCell.Offset(0, 1).Select 'déplace la sélection d' 1 colonne vers la droite
End Sub

Ça sélectionne la cellule B en regard de la date d'aujourd'hui

Sub Aujourdhui()
Dim i As Integer
i = Application.WorksheetFunction.Match(CLng(Date) - 1, Range("A:A"), 0)
Range("A" & i).Activate 'sélectionne la date d'aujourd'hui - 1 jour
ActiveCell.Offset(0, 1).Select 'déplace la sélection d' 1 colonne vers la droite
End Sub

Ça sélectionne la cellule B en regard de la date d'hier

Sub Aujourdhui()
Dim i As Integer
i = Application.WorksheetFunction.Match(CLng(Date) + 1, Range("A:A"), 0)
Range("A" & i).Activate 'sélectionne la date d'aujourd'hui + 1 jour
ActiveCell.Offset(-2, 1).Select 'déplace la sélection de 2 lignes vers le haut et d' 1 colonne vers la droite
End Sub

Ça sélectionne la cellule B en regard de la date d'hier

Avec les deux derniers codes ça te mène au même endroit

Cordialement

0
mchotard Messages postés 451 Date d'inscription   Statut Membre Dernière intervention   43
 

Un très cordial merci PapyLuc51 pour ces explications que je vais conserver très précieusement. Car elle sont très claires

Bonne journée

mchotard

0