Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/11/2011, 11h51   #1
Invité de passage
 
Homme Anonymous Anonyme
Inscription : novembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Anonymous Anonyme
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2011
Messages : 2
Points : 0
Points : 0
Par défaut Requêtes SQL en VBA

Bonjour tout le monde,

J'ai une base de données sous format Excel avec 2 feuilles.

Sur un autre fichier Excel j'aimerais pouvoir importer des données à partir de cette base (de la feuille 1) avec des requêtes SQL en Visual Basic.

En gros, j'aimerais faire en VBA ce que fait MS Query.

Quelqu'un aurait une idée ?

PS : Je suis débutant

Merci d'avance.
SansFAP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 14h23   #2
Membre actif
 
Homme
Inscription : juillet 2002
Messages : 108
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2002
Messages : 108
Points : 153
Points : 153
Bonjour,

Tu peux enregistrer une macro et créer une requête MS QUERY que tu pourra éditer par la suite.

Tu peux aussi utiliser une requête paramétrée.

Mais pour manipuler les données d'un onglet dans un autre, il y a probablement une solution moins lourde.

Peut être les filtres avancés...
aereno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 08h42   #3
Invité de passage
 
Homme Anonymous Anonyme
Inscription : novembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Anonymous Anonyme
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2011
Messages : 2
Points : 0
Points : 0
Merci pour ta réponse, mais j'ai pas compris.


J'ai mis ça mais ça marche pas ...


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
        "ODBC;DSN=Microsoft Office Database;DBQ=C:\Database\BaseDonnees.xls;DefaultDir=C:\Database;DriverId=25;FIL=Microsoft Office;Ma" _
        ), Array("xBufferSize=2048;PageTimeout=5;")), Destination:=Range("B3"))
        .CommandText = Array( _
        "SELECT `Cours`.Com, `Cours`.Mail " & Chr(13) & "" & Chr(10) & "FROM `C:\Database\BaseDonnees`.`Cours$` `Cours$`" & Chr(13) & "" & Chr(10) & "WHERE (`Cours``.Mail='toto@toto.fr')")
        .Name = "Requête Test"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=False
End With
SansFAP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 09h21   #4
Membre chevronné
 
Inscription : octobre 2006
Messages : 541
Détails du profil
Informations personnelles :
Localisation : France, Ardèche (Rhône Alpes)

Informations forums :
Inscription : octobre 2006
Messages : 541
Points : 760
Points : 760
Bonjour

As tu regardé ce tuto sur ADO-SQL ?

http://silkyroad.developpez.com/VBA/ClasseursFermes/
__________________
Michel_M
Michel_M est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h02.


 
 
 
 
Partenaires

Hébergement Web