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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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.
Bonjour,
"URIANE" <URIANE@discussions.microsoft.com> a écrit dans le message de news:6F63A799-7C5F-43B8-AB87-ED5F526B42ED@microsoft.com...
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.
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
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.
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" <URIANE@discussions.microsoft.com> a écrit dans le message de news:6F63A799-7C5F-43B8-AB87-ED5F526B42ED@microsoft.com...
> 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.
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.
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. > >
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" <URIANE@discussions.microsoft.com> a écrit dans le message de news:170BF3CF-DE40-4DD2-839F-97857728F367@microsoft.com...
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" <URIANE@discussions.microsoft.com> a écrit dans le message de
> > 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.
>
>
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. > >