Bonjour,
Ayant beaucoup naviguer sur developpez.net pour apprendre le VBA, je suis hélas confronté à un problème dont je n'arrive pas cette fois à trouver une solution... je m'explique :
J'utilise un fichier excel qui est connecté en DAO à une base Access. Tout fonctionne impecc, mais...
J'ai dans une feuille Excel 7 champs ayant chacun une liste déroulante puis un bouton macro "Filtre".
1-Date
2-Domaine
3-Secteur
4-Département
5-Site
6-Métier
7-Nature
Comme je l'ai dit, chaque "cellule" possède une liste déroulante avec des valeurs pré-définis
Le but étant de choisir une valeur dans chaque cellule souhaité pour faire un filtre et afficher le résultat de la requête SQL dans un tableau excel.
Actuellement, si la personne renseigne les 7 cellules, une requête qui fonctionne correctement :
Le problème dans cette requête c'est que je ne prends absolument pas en compte si l'utilisateur renseigne la cellule 1 et 7 et laisse les autres vides... ce qui devrait me sortir le résultat en fonction de la date et de la nature... même process pour toutes les manipulations avec ce "filtre".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Domaine = Range("B2").Value Scteur = Range("B3").Value Departement = Range("B4").Value Site = Range("B5").Value Metier = Range("B6").Value Cntrat = Range("B7").Value Date1 = Range("B1").Value Date2 = DateSerial(Year(Date1), Month(Date1), 1) sSQL = "SELECT * FROM TableA WHERE [Col1]= '" & Domaine & "'AND [Col2]= '" & Scteur & "' AND [Col3]= '" & Departement & "' AND [Col4]= '" & Site & "' AND [Col5]= '" & Metier & "' AND [Col6]= '" & Cntrat & "' AND [Col7] BETWEEN format('" & Date2 & "','dd/mm/yyyy') AND format('" & Date1 & "','dd/mm/yyyy');"
J'ai commencé à chercher d'autres solutions mais en vain....
C'est pourquoi je fais mon bapteme sur developpez.net et demande de l'aide car je sèche terriblement.
Toute piste est la bienvenue![]()
Partager