Rechercher une date égale à aujourd'hui

Résolu/Fermé
Signaler
Messages postés
31
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
17 août 2013
-
Messages postés
10617
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
1 décembre 2021
-
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

Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
146
bonjour,

je pense que le mieux est que tu fasses une macro pour ca.
Parce que par formule, je vois pas.
Messages postés
31
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
17 août 2013
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
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
146
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
Messages postés
10617
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
1 décembre 2021
1 239
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
Messages postés
31
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
17 août 2013
1
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
Messages postés
10617
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
1 décembre 2021
1 239
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.

Messages postés
31
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
17 août 2013
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
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é.
Messages postés
31
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
17 août 2013
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 !!!
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
146
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
Messages postés
31
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
17 août 2013
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
Messages postés
10617
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
1 décembre 2021
1 239
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
Messages postés
31
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
17 août 2013
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
Messages postés
10617
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
1 décembre 2021
1 239
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

Messages postés
31
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
17 août 2013
1
Merci!! J'essai ca tout de suite et te donne des nouvelles si je bloque :))

TRÈS APPRÉCIER
Messages postés
31
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
17 août 2013
1
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()"
Messages postés
10617
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
1 décembre 2021
1 239
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
Messages postés
10617
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
1 décembre 2021
1 239
Bonjour étiboom,

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

Messages postés
31
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
17 août 2013
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
Messages postés
31
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
17 août 2013
1
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
Messages postés
31
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
17 août 2013
1
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
Messages postés
10617
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
1 décembre 2021
1 239
Bonjour,
Merci, content que vous avez trouvé la solution.