Bonjour,
j'ai besoin de votre aide.
J'ai adapté une macro pour rechercher des cellules dans un fichier source fermé, en utilisant une requête SQL.
Je fais le choix dans mes application de créer une feuille paramètre où j'inscris des éléments variables, donc le nom du tableau qui pourrait être ainsi changé sans entrer dans le VBA.
Dans la macro d'origine
maBD = est un tableau dans le fichier source fermé. Nom="maBD"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Function SommeSi(fichier, champCrit, critere, champSomme) 'Microsoft ActiveX 2.8 doit être coché Dim Cnn As New ADODB.Connection Dim rs As New ADODB.Recordset Chemin = ActiveWorkbook.Path & "\" & fichier chaineConnect = "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & Chemin & ";HDR=Yes';" Cnn.Open chaineConnect Sql = "SELECT SUM(" & champSomme & ") From [maBD] where " & champCrit & "='" & critere & "'" ' Sql = "SELECT SUM(" & champSomme & ") From Range("Paramètre!B6").value where " & champCrit & "='" & critere & "'" rs.Open Sql, Cnn SommeSi = rs(0) rs.Close Cnn.Close End Function
mais ma syntaxe ne fonctionnement pas, lorsque je vais la lire la valeur dans ma feuille Source
Code : Sélectionner tout - Visualiser dans une fenêtre à part Sql = "SELECT SUM(" & champSomme & ") From Range("Paramètre!B6").value where " & champCrit & "='" & critere & "'"
Je vous remercie par avance de votre aide
bonne soirée
Christian
Partager