Récupération de données via ADO

Le
astalavista
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #18219151
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"
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
Le #18219211
> 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
Le #18219321
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" 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
JB
Le #18219801
http://boisgontierjacques.free.fr/pages_site/ado.htm

JB

On 25 déc, 14:30, "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 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
Le #18219951
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"

http://boisgontierjacques.free.fr/pages_site/ado.htm

JB

On 25 déc, 14:30, "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


Publicité
Poster une réponse
Anonyme