Rechercher une date égale à aujourd'hui

Résolu/Fermé
étiboom Messages postés 31 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 17 août 2013 - 7 août 2013 à 15:44
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 - 8 août 2013 à 22:06
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

melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
7 août 2013 à 15:46
bonjour,

je pense que le mieux est que tu fasses une macro pour ca.
Parce que par formule, je vois pas.
0
étiboom Messages postés 31 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 17 août 2013 1
7 août 2013 à 15:48
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
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
7 août 2013 à 16:05
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
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
7 août 2013 à 16:08
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
étiboom Messages postés 31 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 17 août 2013 1
7 août 2013 à 17:19
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
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
7 août 2013 à 15:58
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
étiboom Messages postés 31 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 17 août 2013 1
7 août 2013 à 17:08
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
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
étiboom Messages postés 31 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 17 août 2013 1
Modifié par étiboom le 7/08/2013 à 17:31
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
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
7 août 2013 à 17:13
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
étiboom Messages postés 31 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 17 août 2013 1
7 août 2013 à 17:28
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
Modifié par Le Pingou le 7/08/2013 à 17:36
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
étiboom Messages postés 31 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 17 août 2013 1
7 août 2013 à 17:37
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
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
7 août 2013 à 21:58
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
étiboom Messages postés 31 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 17 août 2013 1
7 août 2013 à 22:38
Merci!! J'essai ca tout de suite et te donne des nouvelles si je bloque :))

TRÈS APPRÉCIER
0
étiboom Messages postés 31 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 17 août 2013 1
7 août 2013 à 22:54
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
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
Modifié par Le Pingou le 7/08/2013 à 23:11
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
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
7 août 2013 à 23:12
Bonjour étiboom,

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

0
étiboom Messages postés 31 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 17 août 2013 1
8 août 2013 à 20:38
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
étiboom Messages postés 31 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 17 août 2013 1
8 août 2013 à 20:51
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
étiboom Messages postés 31 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 17 août 2013 1
8 août 2013 à 21:09
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
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
8 août 2013 à 22:06
Bonjour,
Merci, content que vous avez trouvé la solution.
0