COPIER UNIQUEMENT LES DONNES NON IDENTIQUES

Le
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
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel__D
Le #17682221
Bonjour,

"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




Il serait plus simple que ton tableau Excel comporte une colonne indiquant
les données qui ont été modifiées.
URIANE
Le #17682501
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" > 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.




Michel__D
Le #17689241
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"
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"

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.
>
>


Publicité
Poster une réponse
Anonyme