Microsoft 365 Récupérer des Dates

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Electron24

XLDnaute Occasionnel
Bonsoir le Forum,

Dans un classeur, j'ai sur une première feuille (F01) toute une série de Taches à effectuer (Ici réduit)
Par souci de présentation simplifié, je souhaite sur une seconde feuille (F02) n'avoir que 5 taches présentées en partant de la date la plus proche de la date actuelle.
Est il possible de le faire par macro avec le bouton "Mise à Jour" présent sur la feuille F02 ?
D'avance Merci pour votre aide.
Cordialement
 

Pièces jointes

Je reviens vers vous car sur le classeur d'origine, j'ai une erreur . A savoir
- La tache commence sur une ligne aléatoire du tableau Tab_Evenement (mon tableau)
- Pour la date et l'heure j'ai une erreur #Nombre!
ci joint une image de mon classeur
Le tableau se nomme "Tab_Evenement"
La formule pour la tâche "Description est :
VB:
{=INDEX(Tab_Evenement[Description];PETITE.VALEUR(SI(Tab_Evenement[Description]>=AUJOURDHUI();LIGNE(Tab_Evenement[Description])-2);LIGNE()-2))}
pour la Date :
Code:
{=INDEX(Tab_Evenement[Date];PETITE.VALEUR(SI(Tab_Evenement[Date]>=AUJOURDHUI();LIGNE(Tab_Evenement[Date])-2);LIGNE()-2))}
pour l'heure :
Code:
{=INDEX(Tab_Evenement[Heure];PETITE.VALEUR(SI(Tab_Evenement[Heure]>=AUJOURDHUI();LIGNE(Tab_Evenement[Heure])-2);LIGNE()-2))}
Evénements.jpg
Fetes.jpg
 
Ce n'est pas une question de torchon ou de serviette, c'est comme je l'ai indiqué, le nom et les colonnes de mon tableau sur le véritable classeur. Celui que tu as vu, était un essai afin de voir comment on pouvait procéder. Les emplacement du tableau en F02 ne correspondait pas à la photo 2 ci jointe au post précédent.
Comme tu peux le voir les descriptions sont bien notés mis à part les dates injustes mais les dates et les heures sont en erreur. Donc le principe est correct pour les taches mais je ne vois pas pour les 2 autres formules.
 
Bonjour mapomme et vgendron,
Tout d'abord pour vgendron, je tiens à m'excuser pour mon ignorance. en effet, j'ai peut etre et certainement pas tout compris ses formules. Sans explications, j'ai un mal fou à décoder. J'ai aussi par souci de ne pas faire paraitre des taches perso effectuer et charger un classeur de démonstration reproduisant la méthode de travail sans tenir compte des colonnes et lignes du classeur original, voici pourquoi j'y ai adjoints des photos sans faire le rapprochement avec "Photoshp" c'est uniquement pour que tu puisses voir l'emplacement réel des cellules. Encore une fois mille excuses pour mes erreurs.
Pour mapomme, j'ai ouvert le classeur, mais je ne vois pas du tout de formules dans la F02 cellules de la colonne B & C Je ne comprend pas du tout le fonctionnement.
 
Re,
Pour mapomme, j'ai ouvert le classeur, mais je ne vois pas du tout de formules dans la F02 cellules de la colonne B & C Je ne comprend pas du tout le fonctionnement.
J'avais rappelé que ma solution n'est valable que pour Office 365.

Il n'y a qu'une seule formule (dans la cellule A3).

Cette formule, à elle toute seule, remplit toutes les cellules de la plage depuis A3 jusqu'à C7. C'est une formule "dynamique".

Si vous vous placez dans une des cellules de A3:C7 (autre que A3), vous verrez dans la barre de formule la même formule qu'en A3. Mais cette formule sera en police de couleur grise. Vous ne pouvez pas la modifier. La seule formule modifiable est celle de la cellule A3.

Formule en A3 : =LET(a;TRIER(FILTRE('F01'!A3:C999;'F01'!A3:A999>AUJOURDHUI());1);PRENDRE(a;5))
On considère la plage des données sources : 'F01'!A3:C999. Cette source comprend bien les 3 colonnes sources.
On a pris jusqu'à la ligne 999 pour tenir compte de l'augmentation éventuelle du tableau.
Ensuite on filtre ce tableau en ne gardant que les lignes dont la date est supérieure à la date du jour soit la condition : 'F01'!A3:A999>AUJOURDHUI() ce qui nous donne la formule pour le filtrage :
FILTRE('F01'!A3:C999;'F01'!A3:A999>AUJOURDHUI())

Puis on trie les lignes qui ont été filtrées selon la date en ordre croissant. Les dates de ces lignes sont en première colonne qui est la colonne 1 et la formule aboutit à :
TRIER(FILTRE('F01'!A3:C999;'F01'!A3:A999>AUJOURDHUI()) ;1)

A ce stade, de la plage source, il ne reste plus que les lignes dont la date est > à aujourd'hui et ces lignes sont triées depuis la date la plus récente à la date la plus éloignée. Ce qu'on peut visualiser par le tableau "virtuel" :
1724231591825.png


Uniquement pour une raison de lisibilité, on va appeler ce résultat intermédiaire a et de ce tableau (nommé a à l'aide de la commande Let), on ne va retenir ( avec la fonction PRENDRE(...) ) que les 5 premières lignes de ce tableau intermédiaire a, soit la formule finale :
=LET(a;TRIER(FILTRE('F01'!A3:C999;'F01'!A3:A999>AUJOURDHUI());1);PRENDRE(a;5))

Cette formule en A2 extrait bien du tableau source les 5 lignes (avec les trois colonnes) ayant la date la plus récente et supérieure à aujourd'hui.

nota : on peut se dispenser de mettre en variable a le tableau intermédiaire :
=PRENDRE(TRIER(FILTRE('F01'!A3:C999;'F01'!A3:A999>AUJOURDHUI());1);5)

N'hésitez pas à ma demander des précisions...
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
232
Réponses
6
Affichages
189
Réponses
4
Affichages
260
Retour