Mettre à jour un fichier sans doublons avec critère

tchou

XLDnaute Nouveau
Bonjour,
j"enregistre des données dans une feuille et je copie ces données de (A à D) dans la feuille 2, ce que j'aimerai obtenir la recopie des données sans doublons (colonne C) mais en gardant l'état du dernier enregistrement si le N/S est identique (voir fichier).
Merci d'avance
 

Pièces jointes

  • Classeur1.xlsm
    19.9 KB · Affichages: 71
  • Classeur1.xlsm
    19.9 KB · Affichages: 72
  • Classeur1.xlsm
    19.9 KB · Affichages: 63

Bebere

XLDnaute Barbatruc
Re : Mettre à jour un fichier sans doublons avec critère

bonjour Tchou
ajout d'un tri et d'un comptage des n/s
Code:
Sub test()
Dim Ws As Worksheet
Dim Wv As Worksheet
Dim i As Long, x As Integer

 
    Set Ws = ThisWorkbook.Worksheets("feuil1")
    Set Wv = ThisWorkbook.Worksheets("feuil2")
    
    With Ws 'tri croissant des dates enr
        .Range("A1:I10000").Sort Key1:=.Range("H2"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
   'en commençant par la fin on a la date la plus récente
        For i = .Cells(.Rows.Count, 1).End(xlUp).Row To 2 Step -1 ' On commence par la fin, cela permet de supprimer des lignes sans poser de problème dans la boucle.
                       
          x = Application.CountIf(Worksheets("feuil2").Range("C:C"), "=" & .Cells(i, 3)) 'compte n/s
            If IsDate(.Cells(i, 9)) And x = 0 Then 'Si la valeur de la cellule contient une date
            Set ZoneACopier = .Range("A" & i & ":D" & i)
            ZoneACopier.Copy Destination:=Wv.Cells(Wv.Cells(.Rows.Count, 1).End(xlUp).Row + 1, 1)
                'On copie toute la ligne en dessous de la dernière ligne non vide de la feuille 2
            End If
        Next i
    End With
  
End Sub
 

tchou

XLDnaute Nouveau
Re : Mettre à jour un fichier sans doublons avec critère

Bonjour,
merci pour ton aide, mais il y a un bug ( voir fichier joint), les lignes 11,12,13,14 dans la feuille 1 n"ont pas mis à jour la feuille 2.
 

Pièces jointes

  • Classeur21.xlsm
    21 KB · Affichages: 73
  • Classeur21.xlsm
    21 KB · Affichages: 69
  • Classeur21.xlsm
    21 KB · Affichages: 71

Bebere

XLDnaute Barbatruc
Re : Mettre à jour un fichier sans doublons avec critère

Tchou
dis en un peu plus
si bug il y a la ligne fautive apparaît surlignée en jaune
pour feuil2,c'est à toi de définir ce que tu veux
effacer feuil2 et mettre à jour ou autre chose
peut être que ce qui est fait ne convient
en bref,le code prend les n/s avec la date la plus récente
 

Discussions similaires

Réponses
9
Affichages
457

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch