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
     

    0
    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

      0
      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

        0
        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

          0
          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

            0
            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

              0

              Discussions similaires

              Activation de la fonction OTG

              1 réponse