Rechercher une date égale à aujourd'hui

Résolu
Bonjour!!

J'ai un tableau excel avec 7 colonnes et la dernière est une date (il y a environ 210 rangés).
Dans une autre feuille, je voudrais que chaque jour, un test soit effectuer avec toutes les dates de cette dernière colonne, à savoir si, à ce moment, elles sont égales à celle d'aujourd'hui.

En d'autres mots : une rechercheV qui ne s'arrete pas au premier résultat qu'il trouve ET qui met toute la ligne DES dates correspondantes à celle d'aujourd'hui

Merci à l'avance!!
étiboom

9 réponses

  1. bonjour,

    je pense que le mieux est que tu fasses une macro pour ca.
    Parce que par formule, je vois pas.
    0
    1. Salut Mélanie!

      ah lala, ces macros m'hanteront toujours ...
      crois-tu que c'est une macro compliqué ?? je ne veux pas me perdre dans une nouvelle aventure...
      Si tu peux m'aider fais moi signe
      0
    2. Non, elle n'est pas compliquée et la voici :

      sub copiedatedujour ()
      'je compte le nombre de lignes de ton tableau à partir de la ligne 1. Autrement dit si ton tableau commence en ligne 4 ou 5, remplace 1 par 4 ou 5 de la feuille1, si ta feuille ne s'appelle pas commeca, remplace Feuil1 par le nom de ta feuille
      nb_ligne = sheets.("Feuil1").cells(1,7).End(xlDown).Row

      j=2 'on commencera à copier dans la feuille2 à partir de la ligne 2
      'de la ligne 1 jusqu'à la fin
      for i = 1 to nb_ligne
      ' si la cellule de la ligne 1 colonne 7 = aujourdhui()
      if sheets("Feuil1").cells(i,7) = date then
      ' on copie la ligne i de la feuille 1 et on la colle dans la feuille 2 à la ligne j
      sheets("Feuil1").rows(i).copy sheets("Feuil2).rows(j)
      j=j+1
      end if
      next

      end sub
      0
    3. Bonjour,
      C'est une très bonne manière de repousser les autres solutions.
      Il serait plus agréable pour tous d'utiliser le répondre... non.
      Salutations.
      Le Pingou
      0
    4. Merci mélanie !!

      Le problème c'est que cette macro semble ne rien faire!!
      elle ne va pas dans les cellules et à quoi est-elle supposer essayer de comparer cette date s'il n'y en pas ??? assure toi de bien comprendre ce que je veux parce que je me perd dans ses lignes :(

      MERCI!!!
      Étiboom
      0
  2. Bonjour,
    Si colonne date est [H :H] et valeur dès ligne 2
    Une idée avec la mise en forme conditionnel avec cette condition : =$H2=AUJOURDHUI() qui s'applique à la plage : =$H$2:$H$220
    Cellule sera rouge si condition est Vrai.

    0
    1. Salut et merci d'avoir pris le temps de répondre!!

      le gars qui va prendre le fichier pour travailler est mécano ( ordinateur = -1 pour lui )
      DONC je ne crois même pas qu'il sache changer de feuille dans un classeur, je ne le ferai pas chercher de case rouge de peur qu'il ne se perde dans le fichier.

      Et je ne suis moi-même pas un expert, je n'ai pas tout compris de ta proposition

      Merci encore,
      Étiboom
      0
  3. Bonjour,

    cette macro devrait faire l'affaire :

    Sub Transfert_Lgn()
    Nb_Lgn = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
    Nb_Col = Sheets(1).Cells(1, Columns.Count).End(xlToLeft).Column

    Info_Date = Month(Date) & "/" & Day(Date) & "/" & Year(Date)
    Rows("1:1").Select
    Selection.AutoFilter
    ActiveSheet.Range(Cells(1, 1), Cells(Nb_Lgn, Nb_Col)).AutoFilter Field:=7, Operator:= _
    xlFilterValues, Criteria2:=Array(2, Info_Date)
    Range("A1", Selection.End(xlToRight).End(xlDown)).Select
    Selection.Copy
    Sheets.Add After:=Sheets(Sheets.Count)
    ActiveSheet.Paste
    Sheets("Sheet1").Select
    Selection.AutoFilter
    End Sub


    Elle effectue un filtre sur la colonne G à la date du jour et copie le résultat du filtre sur une feuille fraichement rajouté.
    0
    1. Salut W.E!!
      Premièrement merci d'avoir prit le temps de m'aider. Seulement, je me demande comment j'adapterais cette macro a mon classeur ?

      Mon test se fait sur la feuille "Donnée Brute" et je veux que le résultat aille dans la feuille "maintenance À FAIRE"
      Les dates de la feuille "Donnée Brute" sont dans la colonne "G" et mes données commencent à la rangée 2

      MERCI POUR TOUT !!!
      0
  4. Non, elle n'est pas compliquée et la voici :

    sub copiedatedujour ()
    'je compte le nombre de lignes de ton tableau à partir de la ligne 1. Autrement dit si ton tableau commence en ligne 4 ou 5, remplace 1 par 4 ou 5 de la feuille1, si ta feuille ne s'appelle pas commeca, remplace Feuil1 par le nom de ta feuille
    nb_ligne = sheets.("Feuil1").cells(1,7).End(xlDown).Row

    j=2 'on commencera à copier dans la feuille2 à partir de la ligne 2
    'de la ligne 1 jusqu'à la fin
    for i = 1 to nb_ligne
    ' si la cellule de la ligne 1 colonne 7 = aujourdhui()
    if sheets("Feuil1").cells(i,7) = date then
    ' on copie la ligne i de la feuille 1 et on la colle dans la feuille 2 à la ligne j
    sheets("Feuil1").rows(i).copy sheets("Feuil2).rows(j)
    j=j+1
    end if
    next

    end sub
    0
    1. Salut!!
      Mon test se fait sur la feuille "Donnée Brute" et je veux que le résultat aille dans la feuille "maintenance À FAIRE"...
      Utilise les mots "colonne"( | ) ou "rangé" ( - ), ça me mélange moins que "ligne" (s'il te plait)
      Les dates de la feuille "Donnée Brute" sont dans la colonne "G" et mes données commencent à la rangée 2

      MERCI MÉLANIE1324!!
      étiboom
      0
  5. Bonjour étiboom,
    Avec la mise en forme conditionnelle c'est possible de surligner (couleur au choix) les lignes qui correspondent à la date du jour et ce sera simple pour l'employé de parcourir uniquement les lignes de couleurs.
    A vous de savoir ce qui vous conviendra!

    Salutations.
    Le Pingou
    0
    1. Salut Le Pingou!

      ça pourrait être très simple effectivement!! du genre même pas de macro à lancer??
      si tel est le cas, se serait effectivement génial.

      Merci de m'éclairé dans ton chemin si le coeur t'en dis!!
      étiboom
      0
  6. Bonjour étiboom,
    L'exemple avec la marche à suivre sur la feuille. La mise à jour est automatique selon la date du jour dès l'ouverture du classeur.
    L'exemple : https://www.cjoint.com/?3Hhv6fTXa2g

    0
    1. Merci!! J'essai ca tout de suite et te donne des nouvelles si je bloque :))

      TRÈS APPRÉCIER
      0
    2. DONC :

      Je vois ton résultat et j'aimerais appliquer ceci à ma feuille... CEPENDANT

      ma colonne "G" (au lieu de h dans ton fichier) se nomme "7"... ça change quelque chose? sinon pourquoi ce n'est plus des lettres ?

      Et la formule semble ne pas s'activer comme si je ne pouvais pas mettre de =AUJOURDHUI() (ou il ne semble pas devenir une fonction)

      voici ce qui est écrit dans mon carré quand j'essaie d'entré ce que tu m'as dit :

      ="L2C7:L207C7=AUJOURD'HUI()"
      0
  7. Bonjour étiboom,
    Eh bien je vois que vous utilisez le style de référence L1C1, un petit contrôle et je vous donne les renseignements.

    Salutations.
    Le Pingou
    0
    1. Bonjour étiboom,

      Pour la formule : =LC7=AUJOURDHUI()
      S'applique à : =L2C1:L300C7

      0
      1. Salut Le Pingou:)!

        Premièrement merci de m'aider!!!

        Ensuite, je l'ai appliqué et ça fonctionne parfaitement! Le hic c'est que je pensais que le aujourd'hui comprendrait que si la date est passé, il doit le laissé en jaune, ce qu'il ne fait pas... (J'ai oublié de préciser cette volonté)

        Donc, si tu as le temps, se serait apprécier si tu pouvais me dire ce que je dois ajouter à la formule pour que la case soit jaune pendant la journée ou c'est à faire et rouge lorsque la date limite est dépassé ?? Je ne sais pas à quel point c'est faisable mais tu semble plutôt douer avec la mise en forme conditionnelle ;)

        MERC!!
        étiboom
        0
      2. Salut!!

        j'ai mis un "<" =LC7<=AUJOURDHUI()
        Et la tout est jaune. je dois refaire une autre formule pour que le rouge s'applique et non du jaune encore? et seulement un "<" :

        =LC7<AUJOURDHUI()

        ça marcherait??!

        Merci Le Pingou!!
        étiboom
        0
      3. ReReSalut !!

        J'avais poser la question avant de l'essayer (mauvaise habitude).
        J'ai appliquer ce que je t'avais demander et tout fonctionne parfaitement!!!

        Je tient à te remercier pour le temps que tu as pris à me répondre!!

        étiboom
        0
    2. Bonjour,
      Merci, content que vous avez trouvé la solution.
      0