Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

COPIER UNIQUEMENT LES DONNES NON IDENTIQUES

3 réponses
Avatar
URIANE
Bonjour,
J'importe un tableau excel mensuellement, seules qq données changent, je
voudrai mettre à jour une table mais uniquement les données qui ne sont pas
identiques de ma table importée vers la table access je connais par avance
les champs qui risquent de changer tels que les adresses, les échelons, les
indices, et le grade...
par avance je vous remercie de bien vouloir m'aider

3 réponses

Avatar
Michel__D
Bonjour,

"URIANE" a écrit dans le message de news:
Bonjour,
J'importe un tableau excel mensuellement, seules qq données changent, je
voudrai mettre à jour une table mais uniquement les données qui ne sont pas
identiques de ma table importée vers la table access je connais par avance
les champs qui risquent de changer tels que les adresses, les échelons, les
indices, et le grade...
par avance je vous remercie de bien vouloir m'aider




Il serait plus simple que ton tableau Excel comporte une colonne indiquant
les données qui ont été modifiées.
Avatar
URIANE
Et oui ce serait si simple, le pb c'est que c'est un fichier qui vient d'une
base de donnée de paie et je ne connais pas les changements par avance !!!
c'est bien pour cela que je cherche le moyen de me simplifier la tâche et de
trouver le moyen de mettre à jour ma base plutôt que de me taper tous les
enregistrements à la mano comme c'est le cas pour le moment (725
enregistrements à l'heure actuelle)....
Merci

"Michel__D" a écrit :

Bonjour,

"URIANE" a écrit dans le message de news:
> Bonjour,
> J'importe un tableau excel mensuellement, seules qq données changent, je
> voudrai mettre à jour une table mais uniquement les données qui ne sont pas
> identiques de ma table importée vers la table access je connais par avance
> les champs qui risquent de changer tels que les adresses, les échelons, les
> indices, et le grade...
> par avance je vous remercie de bien vouloir m'aider


Il serait plus simple que ton tableau Excel comporte une colonne indiquant
les données qui ont été modifiées.




Avatar
Michel__D
Bonjour,

Voici une façon de procéder (à adapter) :

Sub Test()
Dim oApp As Object, oXls As Object
Dim sSql As String, sXls As String, iC As Long, iL As Long

sXls = "X:CheminLe_Fichier_Excel.xls"
Set oApp = CreateObject("Excel.Application")
oApp.Visible = True
Set oXls = oApp.Workbooks.Open(sXls, 0, False, 4, , , , 2)
iC = 1: iL = 2
Do While Len(Trim(oApp.Cells(iL, iC).Value)) > 0
' Pour ajouter des données
' sSql = "INSERT INTO [LaTable] ( ChampNumerique,ChampTexte,ChampDate )" & _
' " VALUES (" & oApp.Cells(iL, iC).Value & _
' ",'" & oApp.Cells(iL, iC + 1).Value & "'" & _
' ",#" & Format(oApp.Cells(iL, iC + 2).Value, "mm/dd/yyyy") & "#" & "');"
' Pour mettre à jour des données
sSql = "UPDATE [tbl chèques] SET" & _
" ChampNumerique=" & oApp.Cells(iL, iC).Value & _
",ChampTexte='" & LCase(oApp.Cells(iL, iC + 1).Value) & "'" & _
",ChampDate=#" & Format(oApp.Cells(iL, iC + 2).Value, "mm/dd/yyyy") & "#" & ";"

DoCmd.SetWarnings False
DoCmd.RunSQL sSql, False
DoCmd.SetWarnings True
iL = iL + 1
Loop
oXls.Close False
oApp.Quit
Set oXls = Nothing
Set oApp = Nothing



"URIANE" a écrit dans le message de news:
Et oui ce serait si simple, le pb c'est que c'est un fichier qui vient d'une
base de donnée de paie et je ne connais pas les changements par avance !!!
c'est bien pour cela que je cherche le moyen de me simplifier la tâche et de
trouver le moyen de mettre à jour ma base plutôt que de me taper tous les
enregistrements à la mano comme c'est le cas pour le moment (725
enregistrements à l'heure actuelle)....
Merci

"Michel__D" a écrit :

> Bonjour,
>
> "URIANE" a écrit dans le message de


news:
> > Bonjour,
> > J'importe un tableau excel mensuellement, seules qq données changent, je
> > voudrai mettre à jour une table mais uniquement les données qui ne sont pas
> > identiques de ma table importée vers la table access je connais par avance
> > les champs qui risquent de changer tels que les adresses, les échelons, les
> > indices, et le grade...
> > par avance je vous remercie de bien vouloir m'aider
>
>
> Il serait plus simple que ton tableau Excel comporte une colonne indiquant
> les données qui ont été modifiées.
>
>