Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :
Le plus récent selon critère
Avec l'astuce précédente, nous avons vu comment réorganiser automatiquement, et donc au fil de la saisie, un tableau Excel selon deux clés de tri. Avec cette nouvelle astuce, nous allons exploiter ces travaux pour trouver l'article le plus récemment vendu au choix d'une référence dans une liste déroulante.
Sur l'exemple illustré par la capture, nous travaillons sur un tableau réagencé automatiquement. Les articles sont effectivement triés dans l'ordre croissant sur les références et puis pour chaque référence, dans l'ordre croissant sur les dates de transaction. L'utilisateur choisit l'une de ces références désignant une gamme de produits à l'aide d'une liste déroulante placée sur la droite du tableau. Et aussitôt la date et le montant de la dernière transaction pour cette gamme, sont rapatriés dans les deux cellules du dessous. Nous allons le voir, c'est une formule très simple qui permet d'obtenir la solution grâce à une articulation parfaitement automatisée de toutes les données.
Classeur Excel à télécharger
Pour la découverte de cette astuce, nous devons récupérer le classeur Excel des travaux précédents ayant consisté à réorganiser automatiquement et dynamiquement les données d'un tableau.
Double cliquer sur le fichier réceptionné pour l'ouvrir dans Excel,
Puis, cliquer sur le bouton Activer la modification du bandeau de sécurité,
Nous débarquons sur la seconde feuille de ce classeur. Elle est nommée Exploitation. Un tableau trié sur les références et les dates, relate les ventes réalisées par gamme. Une liste déroulante permet de choisir l'une de ces gammes d'articles en cellule F4. C'est en fonction de ce choix que la date de la transaction la plus récente et le montant correspondant doivent être rapatriés par calculs, en cellules respectives F7 et F10.
Nom du tableau et des colonnes
Ce tableau est nourri automatiquement des informations de la feuille Saisie. Et pour cela, c'est une unique formule exploitant une fonction matricielle qui est utilisée à partir de la cellule B4. Elle fait intervenir la fonction TrierPar : =TRIERPAR(tabs; Ref; 1; Dates; 1).
Elle agit sur des plages nommées dynamiques (tabs, Ref et Dates) pour considérer les nouvelles lignes saisies ou insérées dans ce tableau source. Elle réorganise les informations de ce tableau (tabs) pour les trier dans l'ordre croissant sur les références (Ref), puis sur les dates (Dates).
En haut de la fenêtre Excel, cliquer sur l'onglet Formules pour activer son ruban,
Dans la section Noms définis de ce ruban, cliquer sur le bouton Gestionnaire de noms,
Vous y notez la présence de quatre plages dynamiques (tabs, tabe, Ref et Dates). Les plages tabs, Ref et Dates sont utilisées pour rapatrier les informations du tableau de la feuille Saisie dans la feuille Exploitation en les triant sur les références et la date tout en considérant les potentielles nouvelles entrées, grâce à la fonction NbVal.
La plage tabe correspond au tableau des données importées et triées sur la feuille Exploitation, lui aussi grâce à la fonction NbVal, considérant les nouvelles potentielles entrées dans la source issue de la feuille Saisie.
Extraire les informations du dernier
C'est donc lui que nous devons désigner dans une fonction RechercheV pour extraire la date et la vente de la dernière transaction effectuée sur la gamme de produits désignée. Et comme les données du tableau sont naturellement et automatiquement triées, l'astuce consiste tout simplement à réaliser une recherche approximative sur la gamme désignée par l'utilisateur.
Cliquer sur la case de la date à trouver pour sélectionner la cellule F7,
Taper le symbole égal (=) pour initier la formule de recherche,
Inscrire la fonction de recherche verticale, suivie d'une parenthèse, soit : RechercheV(,
Désigner la valeur cherchée en cliquant sur la référence en cellule F4,
Taper un point-virgule (;) pour passer dans l'argument du tableau de recherche,
Le désigner par son nom, soit : tabe,
Taper un point-virgule (;) pour passer dans l'argument de la colonne de retour,
Inscrire le chiffre 3 pour désigner la troisième colonne, soit celle des dates,
Puis, taper un point-virgule suivi du booléen Vrai : ;Vrai, pour une recherche approximative,
Fermer la parenthèse de la fonction RechercheV,
Puis, valider la formule avec la touche Entrée du clavier,
Comme vous pouvez le voir, la première date tombe instantanément. Et pour la gamme demandée, il s'agit bien de la plus récente, celle correspondant à la dernière transaction enregistrée. Si nous avions utilisé le booléen Faux en dernier argument de la fonction RechercheV, celle-ci se serait arrêtée sur la première référence concordante et aurait livré la date de la transaction la plus ancienne. Avec le booléen Vrai, la fonction considère qu'elle doit trouver une référence proche mais pas forcément exactement identique. Une fois la dernière référence regroupée passée, comme plus aucune ne se rapproche de la recherche, la fonction livre naturellement cette dernière concordance.
Nous n'avons plus qu'à adapter l'indice de colonne (troisième argument ) de cette formule pour le montant en cellule F10 : =RECHERCHEV(F4; tabe; 2; VRAI).
Actualisation de la recherche à la saisie
Désormais, nous proposons de vérifier le dynamisme total de cette solution, en ajoutant une transaction encore plus récente dans le tableau d'origine.
Tout d'abord, sélectionner la référence Art1 avec la liste déroulante,
En bas de la fenêtre Excel, cliquer sur l'onglet Saisie pour activer sa feuille,
Sur la ligne 53, ajouter les informations suivantes : Art1, 2288 et 23/11/2022,
Maintenant, si vous revenez sur la feuille Exploitation, vous remarquez que les deux calculs d'extraction se sont automatiquement actualisés, par simple saisie d'une nouvelle entrée. Et pour cause, cette nouvelle ligne a automatiquement été intégrée et triée dans le tableau de destination, grâce à la fonction TrierPar. Dans le même temps et vous l'avez constaté, le repérage vert de la mise en forme conditionnelle qui était préconçue, s'est déplacé pour pointer sur ce dernier élément trouvé.