Recherche avec champs variable (extensible)

bonjour à tous j'ai un petit problème sur ma page excel (un tableau dans lequel je consigne la distribution de différents trucs avec une colonne "date dernière donation" qui doit m'afficher automatiquement la date de la dernière donation d'un article donné

Ex : articles X Y Z

le tableau 3 colonnes

Col N°1 Date donation

Col N°2 article donné

Col N°3 Date dernière donation (colonne avec formule)

1er article du tableau le 12/03/2013 j'ai donné X la case "date dernière donation" doit resté vide.

j'ai ensuite donné 22 articles (22 lignes) d'articles Y

J'ai donné l'article X à nouveau dans la case "date dernière donation" il doit m'afficher le 12/03/2013.

Merci à l'avance

Bonjour

Cela convient-il ?

33classeur1.xlsm (14.98 Ko)

Bonjour

Cette version marche mieux

57classeur1-v1.xlsm (15.34 Ko)

Merci bcp mais je vais augmenter le challenge en vous demandant si c'est possible de le faire sans macro

Bonjour

Je suis désolé mais le challenge n'est pas ici ma motivation;

Ce serait plutôt de mettre mes modestes moyens au service des autres pour les aider et leur rendre service.

Je sais et je t'en suis vraiment reconnaissante ! sauf que ma feuille et bcp plus compliquée et quand je voulais appliquer la macro ça n'a pas trop marcher

pour faire simple dans mon tableau :

la col n°1 c'est la colonne B

la col n°2 c'est la colonne D

et la col n°3 c'est la colonne L

J'ai pas réussi à adapter ta macro car j'arrive pas à la comprendre très bien

dsl (x_x)

Bonjour

J'explique

Voir la capture d'écran c-joint.

La macro est une macro déclenchement automatique.

Elle est écrite pour cela dans une feuille du classeur : ici la feuille "Feuil1"

Elle est du type Worksheet et Change

Ces deux choix effectués dans les combobox en haut de la feuille permettent de donner automatiquement le nom de la macro :

Ligne 1 : Private Sub Worksheet_Change(ByVal Target As Range)

"Target" est le nom donné par VBA à la cellule active

Chaque fois que l'on va modifier puis valider une cellule ("Target"), la macro va s'exécuter.

Ligne 2 : la macro regarde si la cellule que l'on valide se trouve dans la colonne D. Si oui elle continue l'exécution à la ligne suivante et si non, elle saute à la ligne 9 et la s'arrête à la ligne 10 sans avoir rien fait d'autre.

Ligne 3 à ligne 8 : on définit une boucle pour comparer à la cellule "Target"" toutes les cellules de la colonne 4, en remontant à partir de Target.

Ligne 4 : Si une de ces cellules a la même valeur que Target, et que la valeur sur la même ligne, en colonne 2 n'est pas vide, alors la macro passe à la ligne 5. Sinon elle saute à la ligne 7 et, à la ligne 8 retourne à la ligne 3 pour refaire la même opération avec la cellule suivante située juste au-dessus

Ligne 5 : Une cellule qui a la même valeur que Target a été trouvée. en remontant dans la colonne 4 et, sur la même ligne, il y a une valeur en colonne 2 (B) : c'est la date de la derniière donnation de l'article écrit dans la cellule Target. La macro écrit cette date dans la cellule de la même ligne que Target, en colonne 12 c'est à dire L

Ligne 6 : inutile de continuer à chercher puisque la macro a trouvé. Elle sort alors de la boucle et va donc après "Next C" c'est à dire en ligne 9 puis s'arrête à la ligne suivante.

J'espère que ces explications t'aideront.

Bye

capturer
17classeur1-v2.xlsm (15.53 Ko)

Bonjour et Merci bcp de m'avoir consacrer le temps de m'expliquer le fonctionnement de la macro que j'ai très bien saisi grâce à tes lumières d'ailleurs l’intégration dans ma base de données s'est trop bien faite le seul hic c'est que mon tableau (sous mise en forme tableau) à chaque fois que j'ajoute une ligne (touche tab) j'ai un message de bug qui n'a aucune influence sur le contenu ou le fonctionnement du fichier ! mais vu que je prépare la base de données pour mes collaborateurs et non pour moi ! je ne veux pas leur donner un fichier avec des bugs à tout bout de champs ! voilà pourquoi au début je voulais une solution (macro free)

J'ai fait bcp de recherches et je suis sûre que la solution est avec les fonction Equiv, Index, recherche... etc.

C'est la première fois que j'essaye de d'assimiler les fonctions Equiv, Index et autres fonctions d'indexation et de référence.

Merci comme même ! bcp je vais continuer de mon côté à faire des recherches plus poussées en espérant trouver la bonne formule magique

ba bye

c'est bon j'ai trouvé ! une formule max(si) en matricielle ! trop simple

Merci comme même

Rechercher des sujets similaires à "recherche champs variable extensible"