XL 2016 Copie de données suivant date

RENOUVEL Michel

XLDnaute Nouveau
Bonjour à toutes et tous,

Est-il possible de copier des cellules en ne prenant que la date la plus récente pour un même élément ?
J'ai effectué un tri par date et une recherche de doublons, mais c'est fastidieux.
Malheureusement je ne maitrise pas les macros..

Merci d'avance pour votre aide
Michel
 

Pièces jointes

  • Inventaire 2022.xlsx
    273.9 KB · Affichages: 8

RENOUVEL Michel

XLDnaute Nouveau
Re,

Un essai en VBA. Cliquer sur le bouton Hop!
Le code est dans Module1.

VB:
Option Explicit
Const colSource = "K", colCible = "I"     'Référence en lettre de la colonne Source et Cible"

Sub Stock()
Dim der&, numSource&, numCible&, t, dico, i&
   With ActiveSheet
      numSource = Cells(1, colSource).Column: numCible = Cells(1, colCible).Column
      If .FilterMode Then .ShowAllData
      .Cells(1, numCible).EntireColumn.ClearContents
      der = .Cells(.Rows.Count, numSource).End(xlUp).Row
      t = .Range(.Cells(1, numSource), .Cells(der, numSource)).Resize(, 2)
      Set dico = CreateObject("scripting.dictionary")
      For i = 2 To UBound(t)
         If t(i, 1) <> "" Then dico(t(i, 1)) = t(i, 2)
      Next i
      der = .Cells(.Rows.Count, "b").End(xlUp).Row
      t = .Range(.Cells(1, "b"), .Cells(der, "b"))
      t(1, 1) = "Quantité Stock (Maj)"
      For i = 2 To UBound(t)
         If t(i, 1) <> "" Then If dico.exists(t(i, 1)) Then t(i, 1) = dico(t(i, 1)) Else t(i, 1) = ""
      Next i
      .Cells(1, numCible).Resize(UBound(t)) = t
   End With
End Sub
 

RENOUVEL Michel

XLDnaute Nouveau
Bonjour,
Par formule
Dans la cellule I2, tu mets cette formule :
VB:
=SIERREUR(INDEX($L$2:$L$1602;EQUIV(B2;$K$2:$K$1602;0));"")
Et tu incrémentes jusqu'en bas (double click sur la petite croix noire quand tu mets ta souris dur le coin inférieur droit de cette cellule I2)
Bonne journée
Effectivement c'est une autre alternative sans passer par du VBA, ça fonctionne également merci beaucoup pour votre aide :)
 

Discussions similaires

Statistiques des forums

Discussions
314 493
Messages
2 110 196
Membres
110 700
dernier inscrit
guiguione