Macro activer cellule hier

Résolu

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

6 réponses

  1. 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
     

    1. 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

      1. 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

        1. 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

          1. Bonjour mchotard

            J'ai continué à chercher et finalement il 'y a qu'un seul code à conserver

            Sub Aujourdhui()

            Dim i As Integer

            i = Application.WorksheetFunction.Match(CLng(Date) , Range("A:A"), 0) 
            'la valeur de i est le numéro de la ligne où se trouve la date d'aujourd'hui

            Range("A" & i).Activate 
            'sélectionne la cellule contenant la date d'aujourd'hui (il suffit d'ajouter ou enlever des valeurs à i pour faire remonter ou descendre la sélection ; exemples : Range("A" & i - 1) pour remonter ou Range("A" & i + 1) pour descendre

            ActiveCell.Offset(0, 1).Select 
            'déplace la sélection d' 1 colonne vers la droite

            End Sub

            Cordialement

            1. merci PapyLuc54 pour tes recherches, mais je suis satisfait de tes précédentes réponses et maintenant cela fonctionne comme je le souhaitais.

              Bon WE

              Discussions similaires

              Activation de la fonction OTG

              1 réponse