Bonsoir,
par une procédure aimablement fournie par JB, je peux insérer une requête
dans excel à partir d'une table Access.
Cependant, pourriez-vous m'indiquer quelle ligne de code insérer afin de
n'obtenir que les données comprises entre le 01/12/06 et 03/12/06 (toutes
dates incluses)
voici le code :
Sub import_access()
Dim bd As Database
Dim rs As Recordset
Set bd = OpenDatabase("F:\SOCIETE\GEST07.MDB")
Set rs = bd.OpenRecordset("Select * From `Ligne Facture`")
i = 2
Do While Not rs.EOF
Cells(i, 1) = rs!DateFacture
Cells(i, 2) = rs!CodeFacture
Cells(i, 3) = rs!CodeArticle
Cells(i, 4) = rs!LibelleArticle
Cells(i, 5) = rs!Quantite
Cells(i, 6) = rs!PrixTotalLigne
Oupssss! j'oubliais Merci de votre précieuse collaboration
JB
Bonsoir,
Sub essaiDate() 'cocher Microsoft DAO 3.6 dans Outils/Références Dim début As Date, fin As Date Dim bd As Database Dim rs As Recordset Set bd = OpenDatabase(ActiveWorkbook.Path & "access2000.mdb") début = #5/21/1970# fin = #6/21/1970# Sql = "Select * From Client Where dateNaiss>=" & ConvDate(début) & " AND dateNaiss<=" & ConvDate(fin) Set rs = bd.OpenRecordset(Sql) i = 2 Do While Not rs.EOF Cells(i, 1) = rs!Nom_Client Cells(i, 2) = rs!Ville Cells(i, 3) = rs!Salaire Cells(i, 4) = rs!datenaiss rs.MoveNext i = i + 1 Loop End Sub
Function ConvDate(MaDate As Date) As String ConvDate = "#" & Month(MaDate) & "/" & Day(MaDate) & "/" & Year(MaDate) & "#" End Function
Cordialement JB
Bonsoir, par une procédure aimablement fournie par JB, je peux insérer une req uête dans excel à partir d'une table Access. Cependant, pourriez-vous m'indiquer quelle ligne de code insérer afin de n'obtenir que les données comprises entre le 01/12/06 et 03/12/06 (tout es dates incluses) voici le code :
Sub import_access()
Dim bd As Database Dim rs As Recordset Set bd = OpenDatabase("F:SOCIETEGEST07.MDB") Set rs = bd.OpenRecordset("Select * From `Ligne Facture`") i = 2 Do While Not rs.EOF Cells(i, 1) = rs!DateFacture Cells(i, 2) = rs!CodeFacture Cells(i, 3) = rs!CodeArticle Cells(i, 4) = rs!LibelleArticle Cells(i, 5) = rs!Quantite Cells(i, 6) = rs!PrixTotalLigne
rs.MoveNext i = i + 1 Loop End Sub
Bonsoir,
Sub essaiDate()
'cocher Microsoft DAO 3.6 dans Outils/Références
Dim début As Date, fin As Date
Dim bd As Database
Dim rs As Recordset
Set bd = OpenDatabase(ActiveWorkbook.Path & "access2000.mdb")
début = #5/21/1970#
fin = #6/21/1970#
Sql = "Select * From Client Where dateNaiss>=" & ConvDate(début) &
" AND dateNaiss<=" & ConvDate(fin)
Set rs = bd.OpenRecordset(Sql)
i = 2
Do While Not rs.EOF
Cells(i, 1) = rs!Nom_Client
Cells(i, 2) = rs!Ville
Cells(i, 3) = rs!Salaire
Cells(i, 4) = rs!datenaiss
rs.MoveNext
i = i + 1
Loop
End Sub
Function ConvDate(MaDate As Date) As String
ConvDate = "#" & Month(MaDate) & "/" & Day(MaDate) & "/" &
Year(MaDate) & "#"
End Function
Cordialement JB
Bonsoir,
par une procédure aimablement fournie par JB, je peux insérer une req uête
dans excel à partir d'une table Access.
Cependant, pourriez-vous m'indiquer quelle ligne de code insérer afin de
n'obtenir que les données comprises entre le 01/12/06 et 03/12/06 (tout es
dates incluses)
voici le code :
Sub import_access()
Dim bd As Database
Dim rs As Recordset
Set bd = OpenDatabase("F:SOCIETEGEST07.MDB")
Set rs = bd.OpenRecordset("Select * From `Ligne Facture`")
i = 2
Do While Not rs.EOF
Cells(i, 1) = rs!DateFacture
Cells(i, 2) = rs!CodeFacture
Cells(i, 3) = rs!CodeArticle
Cells(i, 4) = rs!LibelleArticle
Cells(i, 5) = rs!Quantite
Cells(i, 6) = rs!PrixTotalLigne
Sub essaiDate() 'cocher Microsoft DAO 3.6 dans Outils/Références Dim début As Date, fin As Date Dim bd As Database Dim rs As Recordset Set bd = OpenDatabase(ActiveWorkbook.Path & "access2000.mdb") début = #5/21/1970# fin = #6/21/1970# Sql = "Select * From Client Where dateNaiss>=" & ConvDate(début) & " AND dateNaiss<=" & ConvDate(fin) Set rs = bd.OpenRecordset(Sql) i = 2 Do While Not rs.EOF Cells(i, 1) = rs!Nom_Client Cells(i, 2) = rs!Ville Cells(i, 3) = rs!Salaire Cells(i, 4) = rs!datenaiss rs.MoveNext i = i + 1 Loop End Sub
Function ConvDate(MaDate As Date) As String ConvDate = "#" & Month(MaDate) & "/" & Day(MaDate) & "/" & Year(MaDate) & "#" End Function
Cordialement JB
Bonsoir, par une procédure aimablement fournie par JB, je peux insérer une req uête dans excel à partir d'une table Access. Cependant, pourriez-vous m'indiquer quelle ligne de code insérer afin de n'obtenir que les données comprises entre le 01/12/06 et 03/12/06 (tout es dates incluses) voici le code :
Sub import_access()
Dim bd As Database Dim rs As Recordset Set bd = OpenDatabase("F:SOCIETEGEST07.MDB") Set rs = bd.OpenRecordset("Select * From `Ligne Facture`") i = 2 Do While Not rs.EOF Cells(i, 1) = rs!DateFacture Cells(i, 2) = rs!CodeFacture Cells(i, 3) = rs!CodeArticle Cells(i, 4) = rs!LibelleArticle Cells(i, 5) = rs!Quantite Cells(i, 6) = rs!PrixTotalLigne
rs.MoveNext i = i + 1 Loop End Sub
cousinhub
Merci, Je vais essayer cela sans tarder. Je me permets de te poser une autre question, toujours sur l'importation à partir d'excel. Avec ton code (que je viens d'essayer et qui marche du feu de dieu, je t'en remercie), j'ai un souci : Si le programme fonctionnant sous Access est fermé, pas de Pb, je récupère bien toutes les données voulues. Par contre, dès que je lance l'application, la première mise à jour est autorisée, et si je veux en refaire une autre, excel me met un message d'alerte : "erreur exécution 3050" "Impossible de verrouiller le fichier" En créant une requête sous excel (Données/Données externes/Créer une requête...) Si le programme fonctionnant sous Access est fermé, pas de Pb, je récupère bien toutes les données voulues. Par contre, dès que je lance l'application, la première mise à jour est autorisée, et si je veux en refaire une autre, excel me met un message d'alerte : (Impossible d'utiliser "|", fichier en cours d'utilisation) Connaîtrais-tu ce problème ? Merci
Merci,
Je vais essayer cela sans tarder.
Je me permets de te poser une autre question, toujours sur l'importation à
partir d'excel.
Avec ton code (que je viens d'essayer et qui marche du feu de dieu, je t'en
remercie), j'ai un souci :
Si le programme fonctionnant sous Access est fermé, pas de Pb, je récupère
bien toutes les données voulues.
Par contre, dès que je lance l'application, la première mise à jour est
autorisée, et si je veux en refaire une autre, excel me met un message
d'alerte : "erreur exécution 3050" "Impossible de verrouiller le fichier"
En créant une requête sous excel (Données/Données externes/Créer une
requête...)
Si le programme fonctionnant sous Access est fermé, pas de Pb, je récupère
bien toutes les données voulues.
Par contre, dès que je lance l'application, la première mise à jour est
autorisée, et si je veux en refaire une autre, excel me met un message
d'alerte : (Impossible d'utiliser "|", fichier en cours d'utilisation)
Connaîtrais-tu ce problème ?
Merci
Merci, Je vais essayer cela sans tarder. Je me permets de te poser une autre question, toujours sur l'importation à partir d'excel. Avec ton code (que je viens d'essayer et qui marche du feu de dieu, je t'en remercie), j'ai un souci : Si le programme fonctionnant sous Access est fermé, pas de Pb, je récupère bien toutes les données voulues. Par contre, dès que je lance l'application, la première mise à jour est autorisée, et si je veux en refaire une autre, excel me met un message d'alerte : "erreur exécution 3050" "Impossible de verrouiller le fichier" En créant une requête sous excel (Données/Données externes/Créer une requête...) Si le programme fonctionnant sous Access est fermé, pas de Pb, je récupère bien toutes les données voulues. Par contre, dès que je lance l'application, la première mise à jour est autorisée, et si je veux en refaire une autre, excel me met un message d'alerte : (Impossible d'utiliser "|", fichier en cours d'utilisation) Connaîtrais-tu ce problème ? Merci