J'essaie de récupérer des données d'un fichier excel à partir d'un autre en
VBA (ADO)
L'ouverture se passe bien:
cnn.Open "Driver={Microsoft Excel Driver (*.xls)}; DBQ=test.xls;
DriverID=790"
Mais j'ai une erreur pour le select, je ne sais pas ce qu'il faut mettre
dans le from:
Set rs = cnn.Execute("SELECT count(*) AS nbEnreg FROM xxxx")
j'ai essayé une liste, une feuille mais ça ne marche pas
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
JB
Bonjour,
XXXX représente le nom de champ de la BD (qui doit avoir des noms de colonne).
JB http://boisgontierjacques.free.fr/
On 25 déc, 12:47, "astalavista" wrote:
Bonjour,
J'essaie de récupérer des données d'un fichier excel à partir d'u n autre en VBA (ADO) L'ouverture se passe bien: cnn.Open "Driver={Microsoft Excel Driver (*.xls)}; DBQ=test.xls; DriverIDy0"
Mais j'ai une erreur pour le select, je ne sais pas ce qu'il faut mettre dans le from: Set rs = cnn.Execute("SELECT count(*) AS nbEnreg FROM xxxx") j'ai essayé une liste, une feuille mais ça ne marche pas
Avez-vous des idées ? Merci d'avance
Bonjour,
XXXX représente le nom de champ de la BD (qui doit avoir des noms de
colonne).
JB
http://boisgontierjacques.free.fr/
On 25 déc, 12:47, "astalavista" <nob...@nowhere.com> wrote:
Bonjour,
J'essaie de récupérer des données d'un fichier excel à partir d'u n autre en
VBA (ADO)
L'ouverture se passe bien:
cnn.Open "Driver={Microsoft Excel Driver (*.xls)}; DBQ=test.xls;
DriverID=790"
Mais j'ai une erreur pour le select, je ne sais pas ce qu'il faut mettre
dans le from:
Set rs = cnn.Execute("SELECT count(*) AS nbEnreg FROM xxxx")
j'ai essayé une liste, une feuille mais ça ne marche pas
XXXX représente le nom de champ de la BD (qui doit avoir des noms de colonne).
JB http://boisgontierjacques.free.fr/
On 25 déc, 12:47, "astalavista" wrote:
Bonjour,
J'essaie de récupérer des données d'un fichier excel à partir d'u n autre en VBA (ADO) L'ouverture se passe bien: cnn.Open "Driver={Microsoft Excel Driver (*.xls)}; DBQ=test.xls; DriverIDy0"
Mais j'ai une erreur pour le select, je ne sais pas ce qu'il faut mettre dans le from: Set rs = cnn.Execute("SELECT count(*) AS nbEnreg FROM xxxx") j'ai essayé une liste, une feuille mais ça ne marche pas
Avez-vous des idées ? Merci d'avance
astalavista
> XXXX représente le nom de champ de la BD (qui doit avoir des noms de colonne).
Merci pour la réponse mais je n'y arrive toujours pas (je ne connais pas bien excel) si par exemple, j'ai dans mon fichier de données (1ere colonne) 1 2 3 4 5 que dois-je faire pour récupérer ces données dans un autre fichier excel en VBA-ADO ? Merci encore
> XXXX représente le nom de champ de la BD (qui doit avoir des noms de
colonne).
Merci pour la réponse mais je n'y arrive toujours pas (je ne connais pas
bien excel)
si par exemple, j'ai dans mon fichier de données (1ere colonne)
1
2
3
4
5
que dois-je faire pour récupérer ces données dans un autre fichier excel en
VBA-ADO ?
Merci encore
> XXXX représente le nom de champ de la BD (qui doit avoir des noms de colonne).
Merci pour la réponse mais je n'y arrive toujours pas (je ne connais pas bien excel) si par exemple, j'ai dans mon fichier de données (1ere colonne) 1 2 3 4 5 que dois-je faire pour récupérer ces données dans un autre fichier excel en VBA-ADO ? Merci encore
michdenis
Voici un exemple que tu devras adapter à ta situation :
A ) requiert l'ajout de la bibliothèque : "Microsoft Activex data object 2.x librairy"
L'exemple suivant extrait toutes les données de la colonne A:A dont l'étiquette de colonne est "toto" sur la "Feui1" du classeur et copie des données vers la feuil2 en colonne H1
'------------------------------------------ Sub MaRequête()
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset Dim Requete As String, Ligne As Long, Rg As Range Dim NomFeuille As String
Set Conn = New ADODB.Connection Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & ThisWorkbook.FullName & ";" & _ "Extended Properties=""Excel 8.0;HDR=YES;"""
NomFeuille = "Feuil1" ' Nom onglet feuille où sont les données
'Pour extraire toutes les données numériques sans les lignes vierges 'Requete = "SELECT toto From [" & NomFeuille & "$]" & vbCrLf & _ "Where toto Is Not Null "
'Pour extraire toutes les données numériques sans les lignes vierges 'et sans doublons et en ordre croissant 'Requete = "SELECT toto From [" & NomFeuille & "$]" & vbCrLf & _ "Where toto Is Not Null " & vbCrLf & _ "Group By toto ORDER By toto"
Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic x = Rst.RecordCount 'Où copier les données Set Rg = Worksheets("Feuil2").Range("H1")
'copie l'étiquette du champ du recordset Rg.Value = Rst.Fields(0).Name 'copie les données du recordset Rg.Offset(1).CopyFromRecordset Rst Rst.Close: Conn.Close
End Sub '------------------------------------------
"astalavista" a écrit dans le message de news: 495372bf$0$22509$ Bonjour,
J'essaie de récupérer des données d'un fichier excel à partir d'un autre en VBA (ADO) L'ouverture se passe bien: cnn.Open "Driver={Microsoft Excel Driver (*.xls)}; DBQ=test.xls; DriverIDy0"
Mais j'ai une erreur pour le select, je ne sais pas ce qu'il faut mettre dans le from: Set rs = cnn.Execute("SELECT count(*) AS nbEnreg FROM xxxx") j'ai essayé une liste, une feuille mais ça ne marche pas
Avez-vous des idées ? Merci d'avance
Voici un exemple que tu devras adapter à ta situation :
A ) requiert l'ajout de la bibliothèque :
"Microsoft Activex data object 2.x librairy"
L'exemple suivant extrait toutes les données de la
colonne A:A dont l'étiquette de colonne est "toto"
sur la "Feui1" du classeur et copie des données
vers la feuil2 en colonne H1
'------------------------------------------
Sub MaRequête()
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, Ligne As Long, Rg As Range
Dim NomFeuille As String
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & ThisWorkbook.FullName & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
NomFeuille = "Feuil1" ' Nom onglet feuille où sont les données
'Pour extraire toutes les données numériques sans les lignes vierges
'Requete = "SELECT toto From [" & NomFeuille & "$]" & vbCrLf & _
"Where toto Is Not Null "
'Pour extraire toutes les données numériques sans les lignes vierges
'et sans doublons et en ordre croissant
'Requete = "SELECT toto From [" & NomFeuille & "$]" & vbCrLf & _
"Where toto Is Not Null " & vbCrLf & _
"Group By toto ORDER By toto"
Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic
x = Rst.RecordCount
'Où copier les données
Set Rg = Worksheets("Feuil2").Range("H1")
'copie l'étiquette du champ du recordset
Rg.Value = Rst.Fields(0).Name
'copie les données du recordset
Rg.Offset(1).CopyFromRecordset Rst
Rst.Close: Conn.Close
End Sub
'------------------------------------------
"astalavista" <nobody@nowhere.com> a écrit dans le message de news:
495372bf$0$22509$426a74cc@news.free.fr...
Bonjour,
J'essaie de récupérer des données d'un fichier excel à partir d'un autre en
VBA (ADO)
L'ouverture se passe bien:
cnn.Open "Driver={Microsoft Excel Driver (*.xls)}; DBQ=test.xls;
DriverIDy0"
Mais j'ai une erreur pour le select, je ne sais pas ce qu'il faut mettre
dans le from:
Set rs = cnn.Execute("SELECT count(*) AS nbEnreg FROM xxxx")
j'ai essayé une liste, une feuille mais ça ne marche pas
Voici un exemple que tu devras adapter à ta situation :
A ) requiert l'ajout de la bibliothèque : "Microsoft Activex data object 2.x librairy"
L'exemple suivant extrait toutes les données de la colonne A:A dont l'étiquette de colonne est "toto" sur la "Feui1" du classeur et copie des données vers la feuil2 en colonne H1
'------------------------------------------ Sub MaRequête()
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset Dim Requete As String, Ligne As Long, Rg As Range Dim NomFeuille As String
Set Conn = New ADODB.Connection Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & ThisWorkbook.FullName & ";" & _ "Extended Properties=""Excel 8.0;HDR=YES;"""
NomFeuille = "Feuil1" ' Nom onglet feuille où sont les données
'Pour extraire toutes les données numériques sans les lignes vierges 'Requete = "SELECT toto From [" & NomFeuille & "$]" & vbCrLf & _ "Where toto Is Not Null "
'Pour extraire toutes les données numériques sans les lignes vierges 'et sans doublons et en ordre croissant 'Requete = "SELECT toto From [" & NomFeuille & "$]" & vbCrLf & _ "Where toto Is Not Null " & vbCrLf & _ "Group By toto ORDER By toto"
Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic x = Rst.RecordCount 'Où copier les données Set Rg = Worksheets("Feuil2").Range("H1")
'copie l'étiquette du champ du recordset Rg.Value = Rst.Fields(0).Name 'copie les données du recordset Rg.Offset(1).CopyFromRecordset Rst Rst.Close: Conn.Close
End Sub '------------------------------------------
"astalavista" a écrit dans le message de news: 495372bf$0$22509$ Bonjour,
J'essaie de récupérer des données d'un fichier excel à partir d'un autre en VBA (ADO) L'ouverture se passe bien: cnn.Open "Driver={Microsoft Excel Driver (*.xls)}; DBQ=test.xls; DriverIDy0"
Mais j'ai une erreur pour le select, je ne sais pas ce qu'il faut mettre dans le from: Set rs = cnn.Execute("SELECT count(*) AS nbEnreg FROM xxxx") j'ai essayé une liste, une feuille mais ça ne marche pas
> XXXX représente le nom de champ de la BD (qui doit avoir des noms de > colonne).
Merci pour la réponse mais je n'y arrive toujours pas (je ne connais pa s bien excel) si par exemple, j'ai dans mon fichier de données (1ere colonne) 1 2 3 4 5 que dois-je faire pour récupérer ces données dans un autre fichi er excel en VBA-ADO ? Merci encore
On 25 déc, 14:30, "astalavista" <nob...@nowhere.com> wrote:
> XXXX représente le nom de champ de la BD (qui doit avoir des noms de
> colonne).
Merci pour la réponse mais je n'y arrive toujours pas (je ne connais pa s
bien excel)
si par exemple, j'ai dans mon fichier de données (1ere colonne)
1
2
3
4
5
que dois-je faire pour récupérer ces données dans un autre fichi er excel en
VBA-ADO ?
Merci encore
> XXXX représente le nom de champ de la BD (qui doit avoir des noms de > colonne).
Merci pour la réponse mais je n'y arrive toujours pas (je ne connais pa s bien excel) si par exemple, j'ai dans mon fichier de données (1ere colonne) 1 2 3 4 5 que dois-je faire pour récupérer ces données dans un autre fichi er excel en VBA-ADO ? Merci encore
astalavista
OK ça marche je mettais dans DBQ le nom du fichier sans le chemin absolu je pensais qu'il prenait le répertoire courant
> XXXX représente le nom de champ de la BD (qui doit avoir des noms de > colonne).
Merci pour la réponse mais je n'y arrive toujours pas (je ne connais pas bien excel) si par exemple, j'ai dans mon fichier de données (1ere colonne) 1 2 3 4 5 que dois-je faire pour récupérer ces données dans un autre fichier excel en VBA-ADO ? Merci encore
OK ça marche
je mettais dans DBQ le nom du fichier
sans le chemin absolu
je pensais qu'il prenait le répertoire courant
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
42644363-2328-4aa9-bb97-9304a11eeff5@i18g2000prf.googlegroups.com...
On 25 déc, 14:30, "astalavista" <nob...@nowhere.com> wrote:
> XXXX représente le nom de champ de la BD (qui doit avoir des noms de
> colonne).
Merci pour la réponse mais je n'y arrive toujours pas (je ne connais pas
bien excel)
si par exemple, j'ai dans mon fichier de données (1ere colonne)
1
2
3
4
5
que dois-je faire pour récupérer ces données dans un autre fichier excel
en
VBA-ADO ?
Merci encore
> XXXX représente le nom de champ de la BD (qui doit avoir des noms de > colonne).
Merci pour la réponse mais je n'y arrive toujours pas (je ne connais pas bien excel) si par exemple, j'ai dans mon fichier de données (1ere colonne) 1 2 3 4 5 que dois-je faire pour récupérer ces données dans un autre fichier excel en VBA-ADO ? Merci encore