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