Requêtes sql select from where en VBA excel

misswise

XLDnaute Nouveau
Bonjour;
J'ai un répertoire comportant 75 fichiers excel de même structure, je veux les récupérer dans un seul fichier mais ne sélectionner que les lignes dont le champ catégorie comporte la valeur 6.

J'ai effectuer une connexion adob avec une requête sql de type select from table(nom de la feuille ou se trouve les données) mais je sais pas comment excel renomme un champs et comme on introduit la condition .

Merci pour votre
 

Pièces jointes

  • exemple.xlsx
    8.3 KB · Affichages: 415
  • exemple.xlsx
    8.3 KB · Affichages: 479
  • exemple.xlsx
    8.3 KB · Affichages: 516

tototiti2008

XLDnaute Barbatruc
Re : Requêtes sql select from where en VBA excel

Bonjour misswise,

le plus simple reste d'ajouter la colonne dans le SQL, comme je te l'avais proposé
Je pense qu'il faudrait insister et voir pourquoi ça ne passe pas chez toi

ajoute la ligne

Code:
Msgbox Replace(Replace(Fichier,  ".xlsx", ""),"ventes_","")

dans la boucle et dis-moi si ça affiche le nom de la ville pour chaque fichier

Edit : A noter que dans le dernier code que je t'ai fourni, il parcourt le dossier C:\temp (parce que c'est comme ça chez moi), as-tu pensé à modifier ?
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Requêtes sql select from where en VBA excel

Re,

en fait j'ai rééssayer mais ça marche tjs pas

Et encore ?
as-tu ajouté la ligne avec Msgbox ?
que renvoient les Msgbox ?
"ça marche pas" est un peu court, il faudrait que tu exécute ton code en pas à pas et que tu regarde au moins sur 2 fichiers ce qu'il fait
Visiblement, quand le SQL était "SELECT * FROM [" & Feuille & "] WHERE Catégorie = 6;" ça marchait ?
as-tu essayé de remettre ce SQL ?
de le transformer peu à peu pour voir à quel moment il ne renvoie plus rien ?
Je n'ai pas tes fichiers, je ne peux pas faire tout ça à ta place, désolé...
 

misswise

XLDnaute Nouveau
Re : Requêtes sql select from where en VBA excel

Merci bien pour ton aide je suis entrain d'essayer et voir ce que je eux ajouter pour que ça marche. Je vais te mettre au courant une fois trouvé une solution.
Sinon peux tu me conseiller un site ou je peux trouver des cours basiques en VBA et bases de données.

Merci une autre fois pour ton soutien et encadrement.
@
 

misswise

XLDnaute Nouveau
Re : Requêtes sql select from where en VBA excel

Bonjour;

J'espère que tout va bien pour vous. Je vous remercie pour votre aide. J'ai trouvé une solution pour mon problème . Voilà le code pour que tout les visiteurs peuvent profiter
Le noms de mes classeurs et comme suit : ventes_lyon_12/06/2011; Le problème était de récupérer le nom de la ville et de l'insérer au niveau d'une colonne de la feuille. En plus des variables déclarés précedement il fallait créer deux autres variables:

Dim pos As Integer
Dim ville As String
Ces deux variables vont être intégré au niveau de la boucle
'boucle sur les fichiers du repertoire

Do While Len(Fichier) > 0
pos = InStr(7, Fichier, "_", vbTextCompare) 'cette fonction donne la position de lacahine caractère comprenant le nom de ville , cette dernière se trouve après 7 caracteres ( ventes_) et après le nom de la ville on trouve le symbole_ après les 16 caractères

ville = Mid(Fichier, 7, pos - 7) 'récupère le nom de la ville

xConnect = "DRIVER={Microsoft Excel Driver (*.xls)};" & _
"ReadOnly=1;DBQ=" & Dossier & "\" & Fichier
'connection classeur
Set Cn = New ADODB.Connection
Cn.Open xConnect

'Requete
Cible = "SELECT '" & ville & "',* FROM [" & Feuille & "] where catégorie = 6;"

........
La suite du programme comme définit avant

Merci pour tous
@
 

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 016
dernier inscrit
Mokson