Comparaison et mise à jour de données

Bonjour j'ai besoin d'aide svp

J'arrive pas a trouver une bonne méthode pour mettre à jour ma base de donnée situé dans une feuille excel.

Je dois importer des données et faire ensuite la comparaison à l'aide d'une clés situer dans la colonne A

si clés existe j'écrase pour mettre les nouvelles données sinon je rajoutes la ligne.

Dim derniereligne_1  As Long, derniereligne_2 As Long
    Dim colsiteresp_1  As Long, colsiteresp_2 As Long
    Dim j As Long
    Dim TAB_1()
    Dim TAB_2()

    'affectation de données de la feuille encours dans un tableau
    derniereligne_1 = wsCurrent.Cells(Rows.Count, 1).End(xlUp).Row
    colsiteresp_1 = wsCurrent.Cells(5, 1000).End(xlToLeft).Column
    ReDim TAB_1(1 To derniereligne_1 - 2, 1 To colsiteresp_1 - 2)
    TAB_1 = wsCurrent.Range(wsCurrent.Cells(3, 1), wsCurrent.Cells(derniereligne_1, colsiteresp_1)).value

    'J'affecte les données du fichier importer dans un tableau
    With wsBdd
        derniereligne_2 = .Cells(Rows.Count, 1).End(xlUp).Row
        colsiteresp_2 = .Cells(5, 1000).End(xlToLeft).Column
        ReDim TAB_2(1 To derniereligne_2 - 2, 1 To colsiteresp_2 - 2)
        TAB_2 = Range(.Cells(3, 1), .Cells(derniereligne_2, colsiteresp_2)).value
    End With

    'je comprare les deux tableaux en utilisant la colonne A comme clés
    'Si je trouve la même clés j'écrase la ligne avec les nouvelles informations
    'sinon je rajoute une nouvelle ligne dans le TAB_1
    For i = 5 To UBound(TAB_2)
        For j = 5 To UBound(TAB_1)
            If TAB_2(i, 1) <> TAB_1(i, 1) Then
                wsBdd.Rows(i).Copy
                wsCurrent.Rows(i).Insert CopyOrigin:=xlFormatFromRightOrBelow
                wsCurrent.Rows(i).PasteSpecial Paste:=xlPasteValidation, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 'Application de la validation (listes déroulantes)
                'wsCurrent.Rows(TAB_1(i)).ClearContents
                Application.CutCopyMode = False
            Else
            End If
        Next j
    Next i
    

Bonjour,

Vue votre version par Par Power Query ca doit se faire très facilement. Si cela vous intérèsse, merci de founir un exemple d la base et un exemple de l'import

Bonjour Valentin85

voici mon code pour l'inport du fichier et la base

    
capture

Bonjour,

Je parlais de vrai fichier exemple, même si ce sont des données bidons

ha d'accord voici l'exemple de la base de donnée fichier

13classeur1.xlsx (296.56 Ko)

Les nouvelles données sont dans un autre fichier excel ? Si oui comment vous determinez le nom et le chemin du fichier à tester ?

Les nouveaux données sont dans un autre fichier effectivement ,

j'ai une fonction qui me permet de choisir un fichier par la suite je récupère le nom de la feuille et ces données que j'affecte dans un tableau

'OUVERTURE DU FICHIER
    Set wbBdd = openFile("Veuillez sélectionner l'extraction svp")

 'SELECTION DE LA 1ère FEUILLE VISIBLE
    Set wsBdd = wbBdd.Sheets(1)
   
Rechercher des sujets similaires à "comparaison mise jour donnees"