bonjour
il y a 1 ou 2 jours j'ai posé la question suivante
question:
j'ai reçu de la société pour qui je travaille
un fichier modele en EXCEL (FicheDeTravail)
je voudrais exporter une table ACCESS (avec 10 champs)
vers ce fichier
le probleme est que je dois commencer a inserer les données a partir de la
cellule D:5 de ce fichier EXCEL
tu as répondu :
Tu ne pourras pas exporter vers le d:5 car l'indication de plage en export
plante l'export:
aide Access:
Étendue Variant facultatif. Expression chaîne qui correspond à une plage
valide de cellules ou au nom d'une plage de la feuille de calcul. Cet
argument n'est valable que pour une importation. Laissez cet argument vierge
pour importer la feuille de calcul entière. Lorsque vous effectuez une
exportation vers une feuille de calcul, vous devez laisser cet argument
vierge. Si vous tapez une plage, l'exportation échoue.
voici qui prouve le contraire :
ceci avec le nom des champs
""""""""""""""""""""""""""""""""""
Sub ExporterRequeteVersExcel()
Dim C As Integer
Dim Cn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim Xl As Object
Dim Wk As Object, Rg As Object
Dim Requete As String
Dim CheminEtNomBaseDeDonnée As String
Dim Chemin As String, Fichier As String
Dim Nb As Integer
'Le texte de ta requête de tes données à exporter
Requete = "Select * from Employés"
'************************************************
'Vérifie si le fichier excel existe
A = Dir(Chemin & Fichier)
If A = "" Then
MsgBox "le fichier ou le chemin de ce fichier est inexact."
Exit Sub
End If
'Ouverture d'excel et de son fichier si nécessaire
On Error Resume Next
Set Xl = GetObject(, "Excel.application")
If Err <> 0 Then
Err = 0
Set Xl = CreateObject("Excel.application")
End If
'Si fichier déjà ouvert
Set Wk = Xl.workbooks(Fichier)
If Err <> 0 Then
Err = 0
Set Wk = Xl.workbooks.Open(Chemin & Fichier)
End If
With Wk
'Nom feuille à déterminer
Set Rg = .worksheets("Feuil1").Range("D5")
'Vide toutes les données existantes du fichier excel
Rg.currentregion.clearcontents
End With
'Exécution de la requête
Rst.Open Requete, Cn, adOpenStatic
'Nombre d'enregistrements dans ta requête
Nb = Rst.RecordCount
'Copie le nom des champs dans la première ligne
'de ton tableau excel Ligne A6 , Si besoin...
Do
Rg.offset(, C) = Rst.Fields(C).Name
C = C + 1
x = x + 1
Loop Until x = Rst.Fields.Count
'Copie dans la feuille excel, le résultat de la requête
Rg.offset(1).Resize(Nb, Rst.Fields.Count) = _
TransposeSpecial2(Rst.GetRows)
'Ferme le recordset
Rst.Close
'Ferme le classeur et enregistre les données
Wk.Close True
'Si nécessaire pour fermer l'application excel
Xl.Quit
'Libère la mémoire des objets
Set Xl = Nothing: Set Wk = Nothing: Set Rg = Nothing
'Ferme le recordset et la connection
Rst.Close: Cn.Close
'libère la mémoire des objets
Set Rst = Nothing: Set Cn = Nothing
End Sub
'-----------------------------------
Function TransposeSpecial2(ByRef Arr As Variant) As Variant
Dim A As Integer, B As Integer, Arr1() As Variant
Dim C As Integer, D As Integer
A = UBound(Arr, 1): B = UBound(Arr, 2)
ReDim Arr1(B, A)
For C = 0 To A
For D = 0 To B
Arr1(D, C) = Arr(C, D)
Next
Next
TransposeSpecial2 = (Arr1)
End Function
'-------------------------------------------
ceci sans le nom des champs
"""""""""""""""""""""""""""""""""""
Sub ExporterRequeteVersExcel()
Dim C As Integer
Dim Cn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim Xl As Object
Dim Wk As Object, Rg As Object
Dim Requete As String
Dim CheminEtNomBaseDeDonnée As String
Dim Chemin As String, Fichier As String
Dim Nb As Integer
'Le texte de ta requête de tes données à exporter
Requete = "Select * from Employés"
'************************************************
'Vérifie si le fichier excel existe
A = Dir(Chemin & Fichier)
If A = "" Then
MsgBox "le fichier ou le chemin de ce fichier est inexact."
Exit Sub
End If
'Ouverture d'excel et de son fichier si nécessaire
On Error Resume Next
Set Xl = GetObject(, "Excel.application")
If Err <> 0 Then
Err = 0
Set Xl = CreateObject("Excel.application")
End If
'Si fichier déjà ouvert
Set Wk = Xl.workbooks(Fichier)
If Err <> 0 Then
Err = 0
Set Wk = Xl.workbooks.Open(Chemin & Fichier)
End If
With Wk
'Nom feuille à déterminer
Set Rg = .worksheets("Feuil1").Range("D5")
'Vide toutes les données existantes du fichier excel
Rg.currentregion.clearcontents
End With
'Exécution de la requête
Rst.Open Requete, Cn, adOpenStatic
'Nombre d'enregistrements dans ta requête
Nb = Rst.RecordCount
'Copie dans la feuille excel, le résultat de la requête
Rg.Resize(Nb, Rst.Fields.Count) = _
TransposeSpecial2(Rst.GetRows)
'Ferme le recordset
Rst.Close
'Ferme le classeur et enregistre les données
Wk.Close True
'Si nécessaire pour fermer l'application excel
Xl.Quit
'Libère la mémoire des objets
Set Xl = Nothing: Set Wk = Nothing: Set Rg = Nothing
'Ferme le recordset et la connection
Rst.Close: Cn.Close
'libère la mémoire des objets
Set Rst = Nothing: Set Cn = Nothing
End Sub
'-----------------------------------
Function TransposeSpecial2(ByRef Arr As Variant) As Variant
Dim A As Integer, B As Integer, Arr1() As Variant
Dim C As Integer, D As Integer
A = UBound(Arr, 1): B = UBound(Arr, 2)
ReDim Arr1(B, A)
For C = 0 To A
For D = 0 To B
Arr1(D, C) = Arr(C, D)
Next
Next
TransposeSpecial2 = (Arr1)
End Function
'-------------------------------------------
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
Raymond [mvp]
Bonsoir.
tu ne démontres rien du tout.
à aucun moment tu ne démontres que la commande DoCmd.TransferSpreadsheet acExport avec une plage de cellules fonctionne. Jusqu'à preuve du contraire cette fonction ne tourne pas sous access si on indique une plage.
tu ne vas pas comparer la ligne d'export ( 1 ligne seule) avec le code que tu indiques qui doit faire plus de 150 lignes dont automation et transposition.
je pense que tu plaisantais ? -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"lou" a écrit dans le message de news: 420f9725$0$31182$
bonjour il y a 1 ou 2 jours j'ai posé la question suivante
question: j'ai reçu de la société pour qui je travaille un fichier modele en EXCEL (FicheDeTravail) je voudrais exporter une table ACCESS (avec 10 champs) vers ce fichier le probleme est que je dois commencer a inserer les données a partir de la cellule D:5 de ce fichier EXCEL
tu as répondu :
Tu ne pourras pas exporter vers le d:5 car l'indication de plage en export plante l'export: aide Access: Étendue Variant facultatif. Expression chaîne qui correspond à une plage valide de cellules ou au nom d'une plage de la feuille de calcul. Cet argument n'est valable que pour une importation. Laissez cet argument vierge pour importer la feuille de calcul entière. Lorsque vous effectuez une exportation vers une feuille de calcul, vous devez laisser cet argument vierge. Si vous tapez une plage, l'exportation échoue.
voici qui prouve le contraire :
ceci avec le nom des champs """""""""""""""""""""""""""""""""" Sub ExporterRequeteVersExcel()
Dim C As Integer Dim Cn As New ADODB.Connection Dim Rst As New ADODB.Recordset Dim Xl As Object Dim Wk As Object, Rg As Object Dim Requete As String Dim CheminEtNomBaseDeDonnée As String Dim Chemin As String, Fichier As String Dim Nb As Integer
'Le texte de ta requête de tes données à exporter Requete = "Select * from Employés"
'************************************************
'Vérifie si le fichier excel existe A = Dir(Chemin & Fichier) If A = "" Then MsgBox "le fichier ou le chemin de ce fichier est inexact." Exit Sub End If
'Ouverture d'excel et de son fichier si nécessaire On Error Resume Next Set Xl = GetObject(, "Excel.application") If Err <> 0 Then Err = 0 Set Xl = CreateObject("Excel.application") End If
'Si fichier déjà ouvert Set Wk = Xl.workbooks(Fichier) If Err <> 0 Then Err = 0 Set Wk = Xl.workbooks.Open(Chemin & Fichier) End If With Wk 'Nom feuille à déterminer Set Rg = .worksheets("Feuil1").Range("D5") 'Vide toutes les données existantes du fichier excel Rg.currentregion.clearcontents End With
'Exécution de la requête Rst.Open Requete, Cn, adOpenStatic 'Nombre d'enregistrements dans ta requête Nb = Rst.RecordCount
'Copie le nom des champs dans la première ligne 'de ton tableau excel Ligne A6 , Si besoin... Do Rg.offset(, C) = Rst.Fields(C).Name C = C + 1 x = x + 1 Loop Until x = Rst.Fields.Count
'Copie dans la feuille excel, le résultat de la requête Rg.offset(1).Resize(Nb, Rst.Fields.Count) = _ TransposeSpecial2(Rst.GetRows) 'Ferme le recordset Rst.Close
'Ferme le classeur et enregistre les données Wk.Close True 'Si nécessaire pour fermer l'application excel Xl.Quit
'Libère la mémoire des objets Set Xl = Nothing: Set Wk = Nothing: Set Rg = Nothing 'Ferme le recordset et la connection Rst.Close: Cn.Close 'libère la mémoire des objets Set Rst = Nothing: Set Cn = Nothing
End Sub '-----------------------------------
Function TransposeSpecial2(ByRef Arr As Variant) As Variant Dim A As Integer, B As Integer, Arr1() As Variant Dim C As Integer, D As Integer A = UBound(Arr, 1): B = UBound(Arr, 2) ReDim Arr1(B, A) For C = 0 To A For D = 0 To B Arr1(D, C) = Arr(C, D) Next Next
TransposeSpecial2 = (Arr1)
End Function '-------------------------------------------
ceci sans le nom des champs """"""""""""""""""""""""""""""""""" Sub ExporterRequeteVersExcel()
Dim C As Integer Dim Cn As New ADODB.Connection Dim Rst As New ADODB.Recordset Dim Xl As Object Dim Wk As Object, Rg As Object Dim Requete As String Dim CheminEtNomBaseDeDonnée As String Dim Chemin As String, Fichier As String Dim Nb As Integer
'Le texte de ta requête de tes données à exporter Requete = "Select * from Employés"
'************************************************
'Vérifie si le fichier excel existe A = Dir(Chemin & Fichier) If A = "" Then MsgBox "le fichier ou le chemin de ce fichier est inexact." Exit Sub End If
'Ouverture d'excel et de son fichier si nécessaire On Error Resume Next Set Xl = GetObject(, "Excel.application") If Err <> 0 Then Err = 0 Set Xl = CreateObject("Excel.application") End If
'Si fichier déjà ouvert Set Wk = Xl.workbooks(Fichier) If Err <> 0 Then Err = 0 Set Wk = Xl.workbooks.Open(Chemin & Fichier) End If With Wk 'Nom feuille à déterminer Set Rg = .worksheets("Feuil1").Range("D5") 'Vide toutes les données existantes du fichier excel Rg.currentregion.clearcontents End With
'Exécution de la requête Rst.Open Requete, Cn, adOpenStatic 'Nombre d'enregistrements dans ta requête Nb = Rst.RecordCount
'Copie dans la feuille excel, le résultat de la requête
Rg.Resize(Nb, Rst.Fields.Count) = _ TransposeSpecial2(Rst.GetRows) 'Ferme le recordset Rst.Close
'Ferme le classeur et enregistre les données Wk.Close True 'Si nécessaire pour fermer l'application excel Xl.Quit
'Libère la mémoire des objets Set Xl = Nothing: Set Wk = Nothing: Set Rg = Nothing 'Ferme le recordset et la connection Rst.Close: Cn.Close 'libère la mémoire des objets Set Rst = Nothing: Set Cn = Nothing
End Sub '-----------------------------------
Function TransposeSpecial2(ByRef Arr As Variant) As Variant Dim A As Integer, B As Integer, Arr1() As Variant Dim C As Integer, D As Integer A = UBound(Arr, 1): B = UBound(Arr, 2) ReDim Arr1(B, A) For C = 0 To A For D = 0 To B Arr1(D, C) = Arr(C, D) Next Next
TransposeSpecial2 = (Arr1)
End Function '-------------------------------------------
voilà en esperant que ça puisse servir a d'autres
Bonsoir.
tu ne démontres rien du tout.
à aucun moment tu ne démontres que la commande DoCmd.TransferSpreadsheet
acExport avec une plage de cellules fonctionne. Jusqu'à preuve du contraire
cette fonction ne tourne pas sous access si on indique une plage.
tu ne vas pas comparer la ligne d'export ( 1 ligne seule) avec le code que
tu indiques qui doit faire plus de 150 lignes dont automation et
transposition.
je pense que tu plaisantais ?
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"lou" <colluluigi@skynet.be> a écrit dans le message de news:
420f9725$0$31182$ba620e4c@news.skynet.be...
bonjour
il y a 1 ou 2 jours j'ai posé la question suivante
question:
j'ai reçu de la société pour qui je travaille
un fichier modele en EXCEL (FicheDeTravail)
je voudrais exporter une table ACCESS (avec 10 champs)
vers ce fichier
le probleme est que je dois commencer a inserer les données a partir de la
cellule D:5 de ce fichier EXCEL
tu as répondu :
Tu ne pourras pas exporter vers le d:5 car l'indication de plage en export
plante l'export:
aide Access:
Étendue Variant facultatif. Expression chaîne qui correspond à une
plage
valide de cellules ou au nom d'une plage de la feuille de calcul. Cet
argument n'est valable que pour une importation. Laissez cet argument
vierge
pour importer la feuille de calcul entière. Lorsque vous effectuez une
exportation vers une feuille de calcul, vous devez laisser cet argument
vierge. Si vous tapez une plage, l'exportation échoue.
voici qui prouve le contraire :
ceci avec le nom des champs
""""""""""""""""""""""""""""""""""
Sub ExporterRequeteVersExcel()
Dim C As Integer
Dim Cn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim Xl As Object
Dim Wk As Object, Rg As Object
Dim Requete As String
Dim CheminEtNomBaseDeDonnée As String
Dim Chemin As String, Fichier As String
Dim Nb As Integer
'Le texte de ta requête de tes données à exporter
Requete = "Select * from Employés"
'************************************************
'Vérifie si le fichier excel existe
A = Dir(Chemin & Fichier)
If A = "" Then
MsgBox "le fichier ou le chemin de ce fichier est inexact."
Exit Sub
End If
'Ouverture d'excel et de son fichier si nécessaire
On Error Resume Next
Set Xl = GetObject(, "Excel.application")
If Err <> 0 Then
Err = 0
Set Xl = CreateObject("Excel.application")
End If
'Si fichier déjà ouvert
Set Wk = Xl.workbooks(Fichier)
If Err <> 0 Then
Err = 0
Set Wk = Xl.workbooks.Open(Chemin & Fichier)
End If
With Wk
'Nom feuille à déterminer
Set Rg = .worksheets("Feuil1").Range("D5")
'Vide toutes les données existantes du fichier excel
Rg.currentregion.clearcontents
End With
'Exécution de la requête
Rst.Open Requete, Cn, adOpenStatic
'Nombre d'enregistrements dans ta requête
Nb = Rst.RecordCount
'Copie le nom des champs dans la première ligne
'de ton tableau excel Ligne A6 , Si besoin...
Do
Rg.offset(, C) = Rst.Fields(C).Name
C = C + 1
x = x + 1
Loop Until x = Rst.Fields.Count
'Copie dans la feuille excel, le résultat de la requête
Rg.offset(1).Resize(Nb, Rst.Fields.Count) = _
TransposeSpecial2(Rst.GetRows)
'Ferme le recordset
Rst.Close
'Ferme le classeur et enregistre les données
Wk.Close True
'Si nécessaire pour fermer l'application excel
Xl.Quit
'Libère la mémoire des objets
Set Xl = Nothing: Set Wk = Nothing: Set Rg = Nothing
'Ferme le recordset et la connection
Rst.Close: Cn.Close
'libère la mémoire des objets
Set Rst = Nothing: Set Cn = Nothing
End Sub
'-----------------------------------
Function TransposeSpecial2(ByRef Arr As Variant) As Variant
Dim A As Integer, B As Integer, Arr1() As Variant
Dim C As Integer, D As Integer
A = UBound(Arr, 1): B = UBound(Arr, 2)
ReDim Arr1(B, A)
For C = 0 To A
For D = 0 To B
Arr1(D, C) = Arr(C, D)
Next
Next
TransposeSpecial2 = (Arr1)
End Function
'-------------------------------------------
ceci sans le nom des champs
"""""""""""""""""""""""""""""""""""
Sub ExporterRequeteVersExcel()
Dim C As Integer
Dim Cn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim Xl As Object
Dim Wk As Object, Rg As Object
Dim Requete As String
Dim CheminEtNomBaseDeDonnée As String
Dim Chemin As String, Fichier As String
Dim Nb As Integer
'Le texte de ta requête de tes données à exporter
Requete = "Select * from Employés"
'************************************************
'Vérifie si le fichier excel existe
A = Dir(Chemin & Fichier)
If A = "" Then
MsgBox "le fichier ou le chemin de ce fichier est inexact."
Exit Sub
End If
'Ouverture d'excel et de son fichier si nécessaire
On Error Resume Next
Set Xl = GetObject(, "Excel.application")
If Err <> 0 Then
Err = 0
Set Xl = CreateObject("Excel.application")
End If
'Si fichier déjà ouvert
Set Wk = Xl.workbooks(Fichier)
If Err <> 0 Then
Err = 0
Set Wk = Xl.workbooks.Open(Chemin & Fichier)
End If
With Wk
'Nom feuille à déterminer
Set Rg = .worksheets("Feuil1").Range("D5")
'Vide toutes les données existantes du fichier excel
Rg.currentregion.clearcontents
End With
'Exécution de la requête
Rst.Open Requete, Cn, adOpenStatic
'Nombre d'enregistrements dans ta requête
Nb = Rst.RecordCount
'Copie dans la feuille excel, le résultat de la requête
Rg.Resize(Nb, Rst.Fields.Count) = _
TransposeSpecial2(Rst.GetRows)
'Ferme le recordset
Rst.Close
'Ferme le classeur et enregistre les données
Wk.Close True
'Si nécessaire pour fermer l'application excel
Xl.Quit
'Libère la mémoire des objets
Set Xl = Nothing: Set Wk = Nothing: Set Rg = Nothing
'Ferme le recordset et la connection
Rst.Close: Cn.Close
'libère la mémoire des objets
Set Rst = Nothing: Set Cn = Nothing
End Sub
'-----------------------------------
Function TransposeSpecial2(ByRef Arr As Variant) As Variant
Dim A As Integer, B As Integer, Arr1() As Variant
Dim C As Integer, D As Integer
A = UBound(Arr, 1): B = UBound(Arr, 2)
ReDim Arr1(B, A)
For C = 0 To A
For D = 0 To B
Arr1(D, C) = Arr(C, D)
Next
Next
TransposeSpecial2 = (Arr1)
End Function
'-------------------------------------------
à aucun moment tu ne démontres que la commande DoCmd.TransferSpreadsheet acExport avec une plage de cellules fonctionne. Jusqu'à preuve du contraire cette fonction ne tourne pas sous access si on indique une plage.
tu ne vas pas comparer la ligne d'export ( 1 ligne seule) avec le code que tu indiques qui doit faire plus de 150 lignes dont automation et transposition.
je pense que tu plaisantais ? -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"lou" a écrit dans le message de news: 420f9725$0$31182$
bonjour il y a 1 ou 2 jours j'ai posé la question suivante
question: j'ai reçu de la société pour qui je travaille un fichier modele en EXCEL (FicheDeTravail) je voudrais exporter une table ACCESS (avec 10 champs) vers ce fichier le probleme est que je dois commencer a inserer les données a partir de la cellule D:5 de ce fichier EXCEL
tu as répondu :
Tu ne pourras pas exporter vers le d:5 car l'indication de plage en export plante l'export: aide Access: Étendue Variant facultatif. Expression chaîne qui correspond à une plage valide de cellules ou au nom d'une plage de la feuille de calcul. Cet argument n'est valable que pour une importation. Laissez cet argument vierge pour importer la feuille de calcul entière. Lorsque vous effectuez une exportation vers une feuille de calcul, vous devez laisser cet argument vierge. Si vous tapez une plage, l'exportation échoue.
voici qui prouve le contraire :
ceci avec le nom des champs """""""""""""""""""""""""""""""""" Sub ExporterRequeteVersExcel()
Dim C As Integer Dim Cn As New ADODB.Connection Dim Rst As New ADODB.Recordset Dim Xl As Object Dim Wk As Object, Rg As Object Dim Requete As String Dim CheminEtNomBaseDeDonnée As String Dim Chemin As String, Fichier As String Dim Nb As Integer
'Le texte de ta requête de tes données à exporter Requete = "Select * from Employés"
'************************************************
'Vérifie si le fichier excel existe A = Dir(Chemin & Fichier) If A = "" Then MsgBox "le fichier ou le chemin de ce fichier est inexact." Exit Sub End If
'Ouverture d'excel et de son fichier si nécessaire On Error Resume Next Set Xl = GetObject(, "Excel.application") If Err <> 0 Then Err = 0 Set Xl = CreateObject("Excel.application") End If
'Si fichier déjà ouvert Set Wk = Xl.workbooks(Fichier) If Err <> 0 Then Err = 0 Set Wk = Xl.workbooks.Open(Chemin & Fichier) End If With Wk 'Nom feuille à déterminer Set Rg = .worksheets("Feuil1").Range("D5") 'Vide toutes les données existantes du fichier excel Rg.currentregion.clearcontents End With
'Exécution de la requête Rst.Open Requete, Cn, adOpenStatic 'Nombre d'enregistrements dans ta requête Nb = Rst.RecordCount
'Copie le nom des champs dans la première ligne 'de ton tableau excel Ligne A6 , Si besoin... Do Rg.offset(, C) = Rst.Fields(C).Name C = C + 1 x = x + 1 Loop Until x = Rst.Fields.Count
'Copie dans la feuille excel, le résultat de la requête Rg.offset(1).Resize(Nb, Rst.Fields.Count) = _ TransposeSpecial2(Rst.GetRows) 'Ferme le recordset Rst.Close
'Ferme le classeur et enregistre les données Wk.Close True 'Si nécessaire pour fermer l'application excel Xl.Quit
'Libère la mémoire des objets Set Xl = Nothing: Set Wk = Nothing: Set Rg = Nothing 'Ferme le recordset et la connection Rst.Close: Cn.Close 'libère la mémoire des objets Set Rst = Nothing: Set Cn = Nothing
End Sub '-----------------------------------
Function TransposeSpecial2(ByRef Arr As Variant) As Variant Dim A As Integer, B As Integer, Arr1() As Variant Dim C As Integer, D As Integer A = UBound(Arr, 1): B = UBound(Arr, 2) ReDim Arr1(B, A) For C = 0 To A For D = 0 To B Arr1(D, C) = Arr(C, D) Next Next
TransposeSpecial2 = (Arr1)
End Function '-------------------------------------------
ceci sans le nom des champs """"""""""""""""""""""""""""""""""" Sub ExporterRequeteVersExcel()
Dim C As Integer Dim Cn As New ADODB.Connection Dim Rst As New ADODB.Recordset Dim Xl As Object Dim Wk As Object, Rg As Object Dim Requete As String Dim CheminEtNomBaseDeDonnée As String Dim Chemin As String, Fichier As String Dim Nb As Integer
'Le texte de ta requête de tes données à exporter Requete = "Select * from Employés"
'************************************************
'Vérifie si le fichier excel existe A = Dir(Chemin & Fichier) If A = "" Then MsgBox "le fichier ou le chemin de ce fichier est inexact." Exit Sub End If
'Ouverture d'excel et de son fichier si nécessaire On Error Resume Next Set Xl = GetObject(, "Excel.application") If Err <> 0 Then Err = 0 Set Xl = CreateObject("Excel.application") End If
'Si fichier déjà ouvert Set Wk = Xl.workbooks(Fichier) If Err <> 0 Then Err = 0 Set Wk = Xl.workbooks.Open(Chemin & Fichier) End If With Wk 'Nom feuille à déterminer Set Rg = .worksheets("Feuil1").Range("D5") 'Vide toutes les données existantes du fichier excel Rg.currentregion.clearcontents End With
'Exécution de la requête Rst.Open Requete, Cn, adOpenStatic 'Nombre d'enregistrements dans ta requête Nb = Rst.RecordCount
'Copie dans la feuille excel, le résultat de la requête
Rg.Resize(Nb, Rst.Fields.Count) = _ TransposeSpecial2(Rst.GetRows) 'Ferme le recordset Rst.Close
'Ferme le classeur et enregistre les données Wk.Close True 'Si nécessaire pour fermer l'application excel Xl.Quit
'Libère la mémoire des objets Set Xl = Nothing: Set Wk = Nothing: Set Rg = Nothing 'Ferme le recordset et la connection Rst.Close: Cn.Close 'libère la mémoire des objets Set Rst = Nothing: Set Cn = Nothing
End Sub '-----------------------------------
Function TransposeSpecial2(ByRef Arr As Variant) As Variant Dim A As Integer, B As Integer, Arr1() As Variant Dim C As Integer, D As Integer A = UBound(Arr, 1): B = UBound(Arr, 2) ReDim Arr1(B, A) For C = 0 To A For D = 0 To B Arr1(D, C) = Arr(C, D) Next Next
TransposeSpecial2 = (Arr1)
End Function '-------------------------------------------
voilà en esperant que ça puisse servir a d'autres
lou
salut raymond je ne comprends pas pourquoi tu me parles de
DoCmd.TransferSpreadsheet acExport je ne t'ai jamais demandé cela
voir post 12/02/2005
question posée: j'ai reçu de la société pour qui je travaille un fichier modele en EXCEL (FicheDeTravail) je voudrais exporter une table ACCESS (avec 10 champs) vers ce fichier le probleme est que je dois commencer a inserer les données a partir de la cellule D:5 de ce fichier EXCEL
la façon d'y parvenir importais peux ce que je cherchais c'etait une solution en envoyant ce code je n'avais pas l'intention de te froisser je faisais réference a l'aide aide Access
sorry
"Raymond [mvp]" a écrit dans le message de news: #
Bonsoir.
tu ne démontres rien du tout.
à aucun moment tu ne démontres que la commande DoCmd.TransferSpreadsheet acExport avec une plage de cellules fonctionne. Jusqu'à preuve du contraire
cette fonction ne tourne pas sous access si on indique une plage.
tu ne vas pas comparer la ligne d'export ( 1 ligne seule) avec le code que tu indiques qui doit faire plus de 150 lignes dont automation et transposition.
je pense que tu plaisantais ? -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"lou" a écrit dans le message de news: 420f9725$0$31182$
bonjour il y a 1 ou 2 jours j'ai posé la question suivante
question: j'ai reçu de la société pour qui je travaille un fichier modele en EXCEL (FicheDeTravail) je voudrais exporter une table ACCESS (avec 10 champs) vers ce fichier le probleme est que je dois commencer a inserer les données a partir de la
cellule D:5 de ce fichier EXCEL
tu as répondu :
Tu ne pourras pas exporter vers le d:5 car l'indication de plage en export
plante l'export: aide Access: Étendue Variant facultatif. Expression chaîne qui correspond à une plage valide de cellules ou au nom d'une plage de la feuille de calcul. Cet argument n'est valable que pour une importation. Laissez cet argument vierge pour importer la feuille de calcul entière. Lorsque vous effectuez une exportation vers une feuille de calcul, vous devez laisser cet argument vierge. Si vous tapez une plage, l'exportation échoue.
voici qui prouve le contraire :
ceci avec le nom des champs """""""""""""""""""""""""""""""""" Sub ExporterRequeteVersExcel()
Dim C As Integer Dim Cn As New ADODB.Connection Dim Rst As New ADODB.Recordset Dim Xl As Object Dim Wk As Object, Rg As Object Dim Requete As String Dim CheminEtNomBaseDeDonnée As String Dim Chemin As String, Fichier As String Dim Nb As Integer
'Le texte de ta requête de tes données à exporter Requete = "Select * from Employés"
'************************************************
'Vérifie si le fichier excel existe A = Dir(Chemin & Fichier) If A = "" Then MsgBox "le fichier ou le chemin de ce fichier est inexact." Exit Sub End If
'Ouverture d'excel et de son fichier si nécessaire On Error Resume Next Set Xl = GetObject(, "Excel.application") If Err <> 0 Then Err = 0 Set Xl = CreateObject("Excel.application") End If
'Si fichier déjà ouvert Set Wk = Xl.workbooks(Fichier) If Err <> 0 Then Err = 0 Set Wk = Xl.workbooks.Open(Chemin & Fichier) End If With Wk 'Nom feuille à déterminer Set Rg = .worksheets("Feuil1").Range("D5") 'Vide toutes les données existantes du fichier excel Rg.currentregion.clearcontents End With
'Exécution de la requête Rst.Open Requete, Cn, adOpenStatic 'Nombre d'enregistrements dans ta requête Nb = Rst.RecordCount
'Copie le nom des champs dans la première ligne 'de ton tableau excel Ligne A6 , Si besoin... Do Rg.offset(, C) = Rst.Fields(C).Name C = C + 1 x = x + 1 Loop Until x = Rst.Fields.Count
'Copie dans la feuille excel, le résultat de la requête Rg.offset(1).Resize(Nb, Rst.Fields.Count) = _ TransposeSpecial2(Rst.GetRows) 'Ferme le recordset Rst.Close
'Ferme le classeur et enregistre les données Wk.Close True 'Si nécessaire pour fermer l'application excel Xl.Quit
'Libère la mémoire des objets Set Xl = Nothing: Set Wk = Nothing: Set Rg = Nothing 'Ferme le recordset et la connection Rst.Close: Cn.Close 'libère la mémoire des objets Set Rst = Nothing: Set Cn = Nothing
End Sub '-----------------------------------
Function TransposeSpecial2(ByRef Arr As Variant) As Variant Dim A As Integer, B As Integer, Arr1() As Variant Dim C As Integer, D As Integer A = UBound(Arr, 1): B = UBound(Arr, 2) ReDim Arr1(B, A) For C = 0 To A For D = 0 To B Arr1(D, C) = Arr(C, D) Next Next
TransposeSpecial2 = (Arr1)
End Function '-------------------------------------------
ceci sans le nom des champs """"""""""""""""""""""""""""""""""" Sub ExporterRequeteVersExcel()
Dim C As Integer Dim Cn As New ADODB.Connection Dim Rst As New ADODB.Recordset Dim Xl As Object Dim Wk As Object, Rg As Object Dim Requete As String Dim CheminEtNomBaseDeDonnée As String Dim Chemin As String, Fichier As String Dim Nb As Integer
'Le texte de ta requête de tes données à exporter Requete = "Select * from Employés"
'************************************************
'Vérifie si le fichier excel existe A = Dir(Chemin & Fichier) If A = "" Then MsgBox "le fichier ou le chemin de ce fichier est inexact." Exit Sub End If
'Ouverture d'excel et de son fichier si nécessaire On Error Resume Next Set Xl = GetObject(, "Excel.application") If Err <> 0 Then Err = 0 Set Xl = CreateObject("Excel.application") End If
'Si fichier déjà ouvert Set Wk = Xl.workbooks(Fichier) If Err <> 0 Then Err = 0 Set Wk = Xl.workbooks.Open(Chemin & Fichier) End If With Wk 'Nom feuille à déterminer Set Rg = .worksheets("Feuil1").Range("D5") 'Vide toutes les données existantes du fichier excel Rg.currentregion.clearcontents End With
'Exécution de la requête Rst.Open Requete, Cn, adOpenStatic 'Nombre d'enregistrements dans ta requête Nb = Rst.RecordCount
'Copie dans la feuille excel, le résultat de la requête
Rg.Resize(Nb, Rst.Fields.Count) = _ TransposeSpecial2(Rst.GetRows) 'Ferme le recordset Rst.Close
'Ferme le classeur et enregistre les données Wk.Close True 'Si nécessaire pour fermer l'application excel Xl.Quit
'Libère la mémoire des objets Set Xl = Nothing: Set Wk = Nothing: Set Rg = Nothing 'Ferme le recordset et la connection Rst.Close: Cn.Close 'libère la mémoire des objets Set Rst = Nothing: Set Cn = Nothing
End Sub '-----------------------------------
Function TransposeSpecial2(ByRef Arr As Variant) As Variant Dim A As Integer, B As Integer, Arr1() As Variant Dim C As Integer, D As Integer A = UBound(Arr, 1): B = UBound(Arr, 2) ReDim Arr1(B, A) For C = 0 To A For D = 0 To B Arr1(D, C) = Arr(C, D) Next Next
TransposeSpecial2 = (Arr1)
End Function '-------------------------------------------
voilà en esperant que ça puisse servir a d'autres
salut raymond
je ne comprends pas pourquoi tu me parles de
DoCmd.TransferSpreadsheet acExport
je ne t'ai jamais demandé cela
voir post 12/02/2005
question posée:
j'ai reçu de la société pour qui je travaille
un fichier modele en EXCEL (FicheDeTravail)
je voudrais exporter une table ACCESS (avec 10 champs)
vers ce fichier
le probleme est que je dois commencer a inserer les données a partir de la
cellule D:5 de ce fichier EXCEL
la façon d'y parvenir importais peux
ce que je cherchais c'etait une solution
en envoyant ce code je n'avais pas l'intention de te froisser je faisais
réference a l'aide aide Access
sorry
"Raymond [mvp]" <XYZ.officesystem.access@free.fr> a écrit dans le message de
news: #EpzojgEFHA.3536@TK2MSFTNGP15.phx.gbl...
Bonsoir.
tu ne démontres rien du tout.
à aucun moment tu ne démontres que la commande DoCmd.TransferSpreadsheet
acExport avec une plage de cellules fonctionne. Jusqu'à preuve du
contraire
cette fonction ne tourne pas sous access si on indique une plage.
tu ne vas pas comparer la ligne d'export ( 1 ligne seule) avec le code que
tu indiques qui doit faire plus de 150 lignes dont automation et
transposition.
je pense que tu plaisantais ?
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"lou" <colluluigi@skynet.be> a écrit dans le message de news:
420f9725$0$31182$ba620e4c@news.skynet.be...
bonjour
il y a 1 ou 2 jours j'ai posé la question suivante
question:
j'ai reçu de la société pour qui je travaille
un fichier modele en EXCEL (FicheDeTravail)
je voudrais exporter une table ACCESS (avec 10 champs)
vers ce fichier
le probleme est que je dois commencer a inserer les données a partir de
la
cellule D:5 de ce fichier EXCEL
tu as répondu :
Tu ne pourras pas exporter vers le d:5 car l'indication de plage en
export
plante l'export:
aide Access:
Étendue Variant facultatif. Expression chaîne qui correspond à une
plage
valide de cellules ou au nom d'une plage de la feuille de calcul. Cet
argument n'est valable que pour une importation. Laissez cet argument
vierge
pour importer la feuille de calcul entière. Lorsque vous effectuez une
exportation vers une feuille de calcul, vous devez laisser cet argument
vierge. Si vous tapez une plage, l'exportation échoue.
voici qui prouve le contraire :
ceci avec le nom des champs
""""""""""""""""""""""""""""""""""
Sub ExporterRequeteVersExcel()
Dim C As Integer
Dim Cn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim Xl As Object
Dim Wk As Object, Rg As Object
Dim Requete As String
Dim CheminEtNomBaseDeDonnée As String
Dim Chemin As String, Fichier As String
Dim Nb As Integer
'Le texte de ta requête de tes données à exporter
Requete = "Select * from Employés"
'************************************************
'Vérifie si le fichier excel existe
A = Dir(Chemin & Fichier)
If A = "" Then
MsgBox "le fichier ou le chemin de ce fichier est inexact."
Exit Sub
End If
'Ouverture d'excel et de son fichier si nécessaire
On Error Resume Next
Set Xl = GetObject(, "Excel.application")
If Err <> 0 Then
Err = 0
Set Xl = CreateObject("Excel.application")
End If
'Si fichier déjà ouvert
Set Wk = Xl.workbooks(Fichier)
If Err <> 0 Then
Err = 0
Set Wk = Xl.workbooks.Open(Chemin & Fichier)
End If
With Wk
'Nom feuille à déterminer
Set Rg = .worksheets("Feuil1").Range("D5")
'Vide toutes les données existantes du fichier excel
Rg.currentregion.clearcontents
End With
'Exécution de la requête
Rst.Open Requete, Cn, adOpenStatic
'Nombre d'enregistrements dans ta requête
Nb = Rst.RecordCount
'Copie le nom des champs dans la première ligne
'de ton tableau excel Ligne A6 , Si besoin...
Do
Rg.offset(, C) = Rst.Fields(C).Name
C = C + 1
x = x + 1
Loop Until x = Rst.Fields.Count
'Copie dans la feuille excel, le résultat de la requête
Rg.offset(1).Resize(Nb, Rst.Fields.Count) = _
TransposeSpecial2(Rst.GetRows)
'Ferme le recordset
Rst.Close
'Ferme le classeur et enregistre les données
Wk.Close True
'Si nécessaire pour fermer l'application excel
Xl.Quit
'Libère la mémoire des objets
Set Xl = Nothing: Set Wk = Nothing: Set Rg = Nothing
'Ferme le recordset et la connection
Rst.Close: Cn.Close
'libère la mémoire des objets
Set Rst = Nothing: Set Cn = Nothing
End Sub
'-----------------------------------
Function TransposeSpecial2(ByRef Arr As Variant) As Variant
Dim A As Integer, B As Integer, Arr1() As Variant
Dim C As Integer, D As Integer
A = UBound(Arr, 1): B = UBound(Arr, 2)
ReDim Arr1(B, A)
For C = 0 To A
For D = 0 To B
Arr1(D, C) = Arr(C, D)
Next
Next
TransposeSpecial2 = (Arr1)
End Function
'-------------------------------------------
ceci sans le nom des champs
"""""""""""""""""""""""""""""""""""
Sub ExporterRequeteVersExcel()
Dim C As Integer
Dim Cn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim Xl As Object
Dim Wk As Object, Rg As Object
Dim Requete As String
Dim CheminEtNomBaseDeDonnée As String
Dim Chemin As String, Fichier As String
Dim Nb As Integer
'Le texte de ta requête de tes données à exporter
Requete = "Select * from Employés"
'************************************************
'Vérifie si le fichier excel existe
A = Dir(Chemin & Fichier)
If A = "" Then
MsgBox "le fichier ou le chemin de ce fichier est inexact."
Exit Sub
End If
'Ouverture d'excel et de son fichier si nécessaire
On Error Resume Next
Set Xl = GetObject(, "Excel.application")
If Err <> 0 Then
Err = 0
Set Xl = CreateObject("Excel.application")
End If
'Si fichier déjà ouvert
Set Wk = Xl.workbooks(Fichier)
If Err <> 0 Then
Err = 0
Set Wk = Xl.workbooks.Open(Chemin & Fichier)
End If
With Wk
'Nom feuille à déterminer
Set Rg = .worksheets("Feuil1").Range("D5")
'Vide toutes les données existantes du fichier excel
Rg.currentregion.clearcontents
End With
'Exécution de la requête
Rst.Open Requete, Cn, adOpenStatic
'Nombre d'enregistrements dans ta requête
Nb = Rst.RecordCount
'Copie dans la feuille excel, le résultat de la requête
Rg.Resize(Nb, Rst.Fields.Count) = _
TransposeSpecial2(Rst.GetRows)
'Ferme le recordset
Rst.Close
'Ferme le classeur et enregistre les données
Wk.Close True
'Si nécessaire pour fermer l'application excel
Xl.Quit
'Libère la mémoire des objets
Set Xl = Nothing: Set Wk = Nothing: Set Rg = Nothing
'Ferme le recordset et la connection
Rst.Close: Cn.Close
'libère la mémoire des objets
Set Rst = Nothing: Set Cn = Nothing
End Sub
'-----------------------------------
Function TransposeSpecial2(ByRef Arr As Variant) As Variant
Dim A As Integer, B As Integer, Arr1() As Variant
Dim C As Integer, D As Integer
A = UBound(Arr, 1): B = UBound(Arr, 2)
ReDim Arr1(B, A)
For C = 0 To A
For D = 0 To B
Arr1(D, C) = Arr(C, D)
Next
Next
TransposeSpecial2 = (Arr1)
End Function
'-------------------------------------------
salut raymond je ne comprends pas pourquoi tu me parles de
DoCmd.TransferSpreadsheet acExport je ne t'ai jamais demandé cela
voir post 12/02/2005
question posée: j'ai reçu de la société pour qui je travaille un fichier modele en EXCEL (FicheDeTravail) je voudrais exporter une table ACCESS (avec 10 champs) vers ce fichier le probleme est que je dois commencer a inserer les données a partir de la cellule D:5 de ce fichier EXCEL
la façon d'y parvenir importais peux ce que je cherchais c'etait une solution en envoyant ce code je n'avais pas l'intention de te froisser je faisais réference a l'aide aide Access
sorry
"Raymond [mvp]" a écrit dans le message de news: #
Bonsoir.
tu ne démontres rien du tout.
à aucun moment tu ne démontres que la commande DoCmd.TransferSpreadsheet acExport avec une plage de cellules fonctionne. Jusqu'à preuve du contraire
cette fonction ne tourne pas sous access si on indique une plage.
tu ne vas pas comparer la ligne d'export ( 1 ligne seule) avec le code que tu indiques qui doit faire plus de 150 lignes dont automation et transposition.
je pense que tu plaisantais ? -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"lou" a écrit dans le message de news: 420f9725$0$31182$
bonjour il y a 1 ou 2 jours j'ai posé la question suivante
question: j'ai reçu de la société pour qui je travaille un fichier modele en EXCEL (FicheDeTravail) je voudrais exporter une table ACCESS (avec 10 champs) vers ce fichier le probleme est que je dois commencer a inserer les données a partir de la
cellule D:5 de ce fichier EXCEL
tu as répondu :
Tu ne pourras pas exporter vers le d:5 car l'indication de plage en export
plante l'export: aide Access: Étendue Variant facultatif. Expression chaîne qui correspond à une plage valide de cellules ou au nom d'une plage de la feuille de calcul. Cet argument n'est valable que pour une importation. Laissez cet argument vierge pour importer la feuille de calcul entière. Lorsque vous effectuez une exportation vers une feuille de calcul, vous devez laisser cet argument vierge. Si vous tapez une plage, l'exportation échoue.
voici qui prouve le contraire :
ceci avec le nom des champs """""""""""""""""""""""""""""""""" Sub ExporterRequeteVersExcel()
Dim C As Integer Dim Cn As New ADODB.Connection Dim Rst As New ADODB.Recordset Dim Xl As Object Dim Wk As Object, Rg As Object Dim Requete As String Dim CheminEtNomBaseDeDonnée As String Dim Chemin As String, Fichier As String Dim Nb As Integer
'Le texte de ta requête de tes données à exporter Requete = "Select * from Employés"
'************************************************
'Vérifie si le fichier excel existe A = Dir(Chemin & Fichier) If A = "" Then MsgBox "le fichier ou le chemin de ce fichier est inexact." Exit Sub End If
'Ouverture d'excel et de son fichier si nécessaire On Error Resume Next Set Xl = GetObject(, "Excel.application") If Err <> 0 Then Err = 0 Set Xl = CreateObject("Excel.application") End If
'Si fichier déjà ouvert Set Wk = Xl.workbooks(Fichier) If Err <> 0 Then Err = 0 Set Wk = Xl.workbooks.Open(Chemin & Fichier) End If With Wk 'Nom feuille à déterminer Set Rg = .worksheets("Feuil1").Range("D5") 'Vide toutes les données existantes du fichier excel Rg.currentregion.clearcontents End With
'Exécution de la requête Rst.Open Requete, Cn, adOpenStatic 'Nombre d'enregistrements dans ta requête Nb = Rst.RecordCount
'Copie le nom des champs dans la première ligne 'de ton tableau excel Ligne A6 , Si besoin... Do Rg.offset(, C) = Rst.Fields(C).Name C = C + 1 x = x + 1 Loop Until x = Rst.Fields.Count
'Copie dans la feuille excel, le résultat de la requête Rg.offset(1).Resize(Nb, Rst.Fields.Count) = _ TransposeSpecial2(Rst.GetRows) 'Ferme le recordset Rst.Close
'Ferme le classeur et enregistre les données Wk.Close True 'Si nécessaire pour fermer l'application excel Xl.Quit
'Libère la mémoire des objets Set Xl = Nothing: Set Wk = Nothing: Set Rg = Nothing 'Ferme le recordset et la connection Rst.Close: Cn.Close 'libère la mémoire des objets Set Rst = Nothing: Set Cn = Nothing
End Sub '-----------------------------------
Function TransposeSpecial2(ByRef Arr As Variant) As Variant Dim A As Integer, B As Integer, Arr1() As Variant Dim C As Integer, D As Integer A = UBound(Arr, 1): B = UBound(Arr, 2) ReDim Arr1(B, A) For C = 0 To A For D = 0 To B Arr1(D, C) = Arr(C, D) Next Next
TransposeSpecial2 = (Arr1)
End Function '-------------------------------------------
ceci sans le nom des champs """"""""""""""""""""""""""""""""""" Sub ExporterRequeteVersExcel()
Dim C As Integer Dim Cn As New ADODB.Connection Dim Rst As New ADODB.Recordset Dim Xl As Object Dim Wk As Object, Rg As Object Dim Requete As String Dim CheminEtNomBaseDeDonnée As String Dim Chemin As String, Fichier As String Dim Nb As Integer
'Le texte de ta requête de tes données à exporter Requete = "Select * from Employés"
'************************************************
'Vérifie si le fichier excel existe A = Dir(Chemin & Fichier) If A = "" Then MsgBox "le fichier ou le chemin de ce fichier est inexact." Exit Sub End If
'Ouverture d'excel et de son fichier si nécessaire On Error Resume Next Set Xl = GetObject(, "Excel.application") If Err <> 0 Then Err = 0 Set Xl = CreateObject("Excel.application") End If
'Si fichier déjà ouvert Set Wk = Xl.workbooks(Fichier) If Err <> 0 Then Err = 0 Set Wk = Xl.workbooks.Open(Chemin & Fichier) End If With Wk 'Nom feuille à déterminer Set Rg = .worksheets("Feuil1").Range("D5") 'Vide toutes les données existantes du fichier excel Rg.currentregion.clearcontents End With
'Exécution de la requête Rst.Open Requete, Cn, adOpenStatic 'Nombre d'enregistrements dans ta requête Nb = Rst.RecordCount
'Copie dans la feuille excel, le résultat de la requête
Rg.Resize(Nb, Rst.Fields.Count) = _ TransposeSpecial2(Rst.GetRows) 'Ferme le recordset Rst.Close
'Ferme le classeur et enregistre les données Wk.Close True 'Si nécessaire pour fermer l'application excel Xl.Quit
'Libère la mémoire des objets Set Xl = Nothing: Set Wk = Nothing: Set Rg = Nothing 'Ferme le recordset et la connection Rst.Close: Cn.Close 'libère la mémoire des objets Set Rst = Nothing: Set Cn = Nothing
End Sub '-----------------------------------
Function TransposeSpecial2(ByRef Arr As Variant) As Variant Dim A As Integer, B As Integer, Arr1() As Variant Dim C As Integer, D As Integer A = UBound(Arr, 1): B = UBound(Arr, 2) ReDim Arr1(B, A) For C = 0 To A For D = 0 To B Arr1(D, C) = Arr(C, D) Next Next
TransposeSpecial2 = (Arr1)
End Function '-------------------------------------------
voilà en esperant que ça puisse servir a d'autres
Raymond [mvp]
Ton 1er post parle d'exportation "je voudrais exporter une table ACCESS (avec 10 champs) vers ce fichier" je t'ai répondu que c'était impossible avec access. et puis c'est passé sur les suppressions de lignes.
j'étais resté à l'export. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"lou" a écrit dans le message de news: 420fbe29$0$1284$
salut raymond je ne comprends pas pourquoi tu me parles de
DoCmd.TransferSpreadsheet acExport je ne t'ai jamais demandé cela
voir post 12/02/2005
question posée: j'ai reçu de la société pour qui je travaille un fichier modele en EXCEL (FicheDeTravail) je voudrais exporter une table ACCESS (avec 10 champs) vers ce fichier le probleme est que je dois commencer a inserer les données a partir de la cellule D:5 de ce fichier EXCEL
la façon d'y parvenir importais peux ce que je cherchais c'etait une solution en envoyant ce code je n'avais pas l'intention de te froisser je faisais réference a l'aide aide Access
sorry
Ton 1er post parle d'exportation
"je voudrais exporter une table ACCESS (avec 10 champs)
vers ce fichier"
je t'ai répondu que c'était impossible avec access.
et puis c'est passé sur les suppressions de lignes.
j'étais resté à l'export.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"lou" <colluluigi@skynet.be> a écrit dans le message de news:
420fbe29$0$1284$ba620e4c@news.skynet.be...
salut raymond
je ne comprends pas pourquoi tu me parles de
DoCmd.TransferSpreadsheet acExport
je ne t'ai jamais demandé cela
voir post 12/02/2005
question posée:
j'ai reçu de la société pour qui je travaille
un fichier modele en EXCEL (FicheDeTravail)
je voudrais exporter une table ACCESS (avec 10 champs)
vers ce fichier
le probleme est que je dois commencer a inserer les données a partir de la
cellule D:5 de ce fichier EXCEL
la façon d'y parvenir importais peux
ce que je cherchais c'etait une solution
en envoyant ce code je n'avais pas l'intention de te froisser je faisais
réference a l'aide aide Access
Ton 1er post parle d'exportation "je voudrais exporter une table ACCESS (avec 10 champs) vers ce fichier" je t'ai répondu que c'était impossible avec access. et puis c'est passé sur les suppressions de lignes.
j'étais resté à l'export. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"lou" a écrit dans le message de news: 420fbe29$0$1284$
salut raymond je ne comprends pas pourquoi tu me parles de
DoCmd.TransferSpreadsheet acExport je ne t'ai jamais demandé cela
voir post 12/02/2005
question posée: j'ai reçu de la société pour qui je travaille un fichier modele en EXCEL (FicheDeTravail) je voudrais exporter une table ACCESS (avec 10 champs) vers ce fichier le probleme est que je dois commencer a inserer les données a partir de la cellule D:5 de ce fichier EXCEL
la façon d'y parvenir importais peux ce que je cherchais c'etait une solution en envoyant ce code je n'avais pas l'intention de te froisser je faisais réference a l'aide aide Access