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

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

              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

              Discussions similaires

              Activation de la fonction OTG

              1 réponse