Tableau xlsm trouver les dernières dates +1 d'un produit sur nouvelle ligne

Bonjour,

Impossible de trouver une solution qui fonctionne complètement.

J’ai un tableau avec différents produits, qui peuvent changer de prix durant l’année. J’aimerais que en créant une nouvelle ligne pour ce produit, dans le but de changer de prix, qu’elle prenne la dernière date + 1 jour pour lui attribuer un nouveau prix. Aussi tôt que j'ajoute une troisième ligne pour le même produit la deuxième entrée prend la dernière date de la troisième entrée.

Les lignes ne sont pas forcément dans l’ordre, vu qu’un produit peut changer et pas un autre.

Je ne sais pas si je me suis bien fait comprendre, mais je vais vous joindre un tableau.

Merci d’avance pour toute aide.

PS: voici la formule dans date de début. En renseignant la date de fin manuellement j'obtiendrai la nouvelle date.

=SI(OU(B3=""; D3=""); ""; SI(NB.SI($B$2:$B$297; B3)=1; ""; MAX(SI(($B$2:$B$297=B3)*($D$2:$D$297<>"")*(LIGNE($D$2:$D$297)<>LIGNE()); $D$2:$D$297)) + 1))

ID Prest.PrestationDate_DebutDate_Fin Prix
P1Pose d'Ongle naturels1 janvier 20262 février 2026 40,00 €
P1Pose d'Ongle naturels1 mars 202620 février 2026 45,00 €
P1Pose d'Ongle naturels21 février 202628 février 2026 47,00 €
P2Pose Gel1 janvier 20263 février 2026 50,00 €
P2Pose Gel4 février 202628 mars 2026 53,00 €
P3Pose demi-Capsule1 janvier 20263 mars 2026 50,00 €
P3Pose demi-Capsule21 mai 20264 avril 2026
P3Pose demi-Capsule21 mai 20265 mai 2026
P3Pose demi-Capsule6 mai 202620 mai 2026
P4Pose Capsules Américaines (4 Ongles Nailart)1 janvier 20263 avril 2026 50,00 €
P4Pose Capsules Américaines (4 Ongles Nailart)
P5Pose Capsules Américaines + Nailart (à partir de 5 Ongles)1 janvier 20265 janvier 2026 60,00 €
P5Pose Capsules Américaines + Nailart (à partir de 5 Ongles)
P6Pose d'entrainement1 janvier 20265 mai 2026 10,00 €
P6Pose d'entrainement11 juin 202620 mai 2026 12,00 €
P6Pose d'entrainement11 juin 20263 juin 2026 15,00 €
P7Dépose1 janvier 20263 mars 2026 15,00 €
P7Dépose
P8Pédicure8 juin 2026 35,00 €
P6Pose d'entrainement4 juin 202610 juin 2026

Bonjour,

Une solution VBA si cela vous est permis.

Bonjour,

Merci beaucoup pour votre réponse rapide.

Je ne suis pas très familier avec VBA. Le tableau représente l’onglet Historique_prix.

Ce que je cherchais à faire, c’est que l’onglet BD_Prestation se mette à jour automatiquement en partant de l’onglet Historique_prix. Ainsi de garder la trace de tous les changements. J’ai enlevé toutes les infos persos dans le fichier, pour pouvoir le joindre à mon explication.

Encore Merci

Bonjour,

Pour info, le fonctionnement souhaité nécessite un outil d'automatisation : que ce soit VBA, PowerQuery ou autre, mais Excel "de base" n'est en général pas très fiable pour ce type de fonctionnement car les formules sont réévaluées à chaque changement. Après il y a déjà du VBA dans votre fichier donc je ne vois pas pourquoi ça n'irait pas.


Veuillez aussi préciser votre version d'Excel sur votre profil, puisque votre fichier contient la fonction RECHERCHEX vous êtes au moins sur XL 2021.

Bonjour

Je ne suis pas certain d'avoir compris la question

Pour chaque produit, il faut indiquer la date de début du nouveau prix.
On peut ensuite automatiser le calcul de la date de fin du prix précédent en colonne D

Voir si FILTRE est dispo dans votre version. Sinon, il est possible de trouver d'autres formules

=SIERREUR(MIN(FILTRE($C$2:$C$21;($A$2:$A$21=A2)*($C$2:$C$21>C2)*($C$2:$C$21<>"");""))-1;"")

image

en ligne 14 par exemple, si l'on indique que le P5 a un nouveau prix à partir d'aujourd'hui 11 juin 2026, alors la cellule D13 aura automatiquement pour valeur 10 juin 2026.

Stéphane

Bonjour Raccurcix (Stéphane),

Je viens de faire quelques tests avec ta formule, et pour l’instant cela fonctionne parfaitement !

Merci infiniment !

J’aimerais également remercier Saboh et Eric qui ont pris la peine de bien vouloir venir en aide à un moineau d’excel. Je conçois bien que VBA et autres programmes ont des possibilités plus vastes, mais je m’entraine !

Excellente journée à tous

Re bonjour,

Puis-je encore une fois vous solliciter?

Toujours avec mes recherches de date. (Même l’IA n’arrive pas à me donner des réponses satisfaisantes.)

J’aimerais dans la feuille « Historique_Prix » récupérer la dernière date avec son prix correspondant, pour que dans la feuille « BD_Prestation » le produit montre son dernier prix.

Merci pour votre aide.

PS: j'ai utilisé cela comme formule: =SIERREUR(INDEX(Historique_Prix!$E$2:$E$10000; EQUIV(1; (Historique_Prix!$A$2:$A$10000=A2) * (Historique_Prix!$C$2:$C$10000=MAX.SI.ENS(Historique_Prix!$C$2:$C$10000; Historique_Prix!$A$2:$A$10000; A2)); 0)); "Non trouvé")

En général il est préférable de trier les dates afin d'avoir le prix le plus récent en dernier, ce qui est logique car c'est celui qu'on a saisi en dernier

la fonction RECHERCHEX permet la recherche du dernier au premier (le -1 en 6e argument)

=RECHERCHEX(A2;Historique_Prix!$A$2:$A$21;Historique_Prix!$C$2:$C$21;"Non trouvé";;-1)

Remarque : il est préférable d'utiliser les tableaux structurés, cela évite de de définir des plages jusqu'à 10000 au cas où

Stéphane

Ah, cette fois je reçois "Non trouvé" !

Mais comment peut il trouver le dernier prix du même produit avec une simple recherchex ?

C'est une formule à mettre dans la feuille « BD_Prestation » afin que le produit affiche la dernière date et le dernier prix avec l'argument -1 du RECHERCHEX qui permet de rechercher du dernier au premier

Les dates doivent être triées avec la plus récente en dernier

Stéphane

D'accord, c'est bien ce que j'ai fais. Les date du MEME produit sont bien dans l'ordre, en revanche les date des autres produits ne le sont pas par rapport p.ex. au produit P1.

Rechercher des sujets similaires à "tableau xlsm trouver dernieres dates produit nouvelle ligne"