Requetes SQL tableau excel

plexy

XLDnaute Nouveau
Bonjour, Je suis actuellement en stage de BTS 2ème année Informatique et voici mon problème.

Je possède un grand tableau excel avec des champs comme nom, prénom, adresse, département etc. Je voudrais à partir de ces champs pouvoir faire des requêtes SQL pour par exemple afficher (dans une nouvelle feuille) toutes les personnes du 31 qui s'appellent Marine.

Or, je ne sais pas si on peut utiliser les champs comme si c'était des tables (dans une base de données) (exemple: La colonne J contient le département et j'aimerais faire une requête du style SELECT * FROM (nom_de_ma_feuille) WHERE "colonne J"=31 AND prenom="Marine".

J'afficherais les résultats des requêtes dans une autre feuille excel du même classeur.


Je ne sais pas si on est obligé de passer par du VBA ou si il y a une autre possibilité. Et si c'est du VBA pourriez m'expliquer en gros ce que le code doit faire car je suis débutant en ce langage.

J'ai beau faire des recherches pendant je ne sais combien d'heures et je ne vois toujours pas de solutions. Je désespère à force ...


Je vous remercie par avance,
Alexandra
 
Dernière édition:

huch

XLDnaute Nouveau
Re : Requetes SQL tableau excel

Voila une procédure à tester


Sub Requete_SQL()
'Recherche dans un fichier qui peut-être fermé
' Microsoft ActiveX DataObject doit être coché
'nommer la zone extraite ici matable

Application.ScreenUpdating = False
NOM="toto"
Dim rs As ADODB.Recordset
ChDir ActiveWorkbook.Path
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & ThisWorkbook.Path & "\" & "nom_fichier.xls"
req = "select * from matable, where mabd.nom = NOM"

Set rs = cnn.Execute(req)
Sheets("Resu").Select
Columns("B:E").ClearContents
[B2].CopyFromRecordset rs
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
End Sub
 

chris

XLDnaute Barbatruc
Re : Requetes SQL tableau excel

Bonjour

Pour info, la notion de requête est du domaine des bases de données.

Dans le tableur on utilise plutôt le filtre élaboré.

Mais comme le montrent les réponses, VBA permet de traiter Excel par requête.
 

xxxptdr

XLDnaute Nouveau
Re : Requetes SQL tableau excel

Voila une procédure à tester


Sub Requete_SQL()
'Recherche dans un fichier qui peut-être fermé
' Microsoft ActiveX DataObject doit être coché
'nommer la zone extraite ici matable

Application.ScreenUpdating = False
NOM="toto"
Dim rs As ADODB.Recordset
ChDir ActiveWorkbook.Path
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & ThisWorkbook.Path & "\" & "nom_fichier.xls"
req = "select * from matable, where mabd.nom = NOM"

Set rs = cnn.Execute(req)
Sheets("Resu").Select
Columns("B:E").ClearContents
[B2].CopyFromRecordset rs
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
End Sub

Bonjour,

Ta fonction m'interesse moi et mon equipe! Ca ma lair tré top. mais j'ai une erreur erreur -2147217900 (80040e14) au niveau du Set rs = cnn.Execute(req). je ne sais pas à koi est ce dû?

Merci pour vos reponse
 

Discussions similaires

Réponses
18
Affichages
397

Statistiques des forums

Discussions
312 495
Messages
2 088 964
Membres
103 992
dernier inscrit
Christine 974