D'accord. Cependant, je pense avoir trouvé une bonne piste pour orienter nos recherches: se servir des paramètres d'exécution de Qlikview, mais aussi des macro s'exécutant au démarrage.
voilà ce que j'utilise pour effectuer une sélection sur un document QlikView non encore ouvert:
- dans les lignes de commandes (détaillées en page 53 du manuel de l'utilisateur), il est tout à fait possible d'ouvrir un document QlikView en lui affectant une valeur de macro-variable:
| Code : |
[path] Qv.exe /vMyvar=123 abc.qvw
|
de ce fait, il suffit d'appeller cette ligne de commande dans du VBA Excel:
| Code : |
Sub Macro1()
Call Shell("C:\Program Files\QlikView\qv.exe /vpays='United Kingdom' C:\Chemin Complet\mon document.qvw"«»)
End Sub
|
Et, dans mondocument.qvw, il suffit d'ajouter une macro se déclenchant au lancement du document, et testant l'existance de cettevariable pays: si elle existe, on exécute une sélection, sinon on ignore. On se servira bien sur de la fonction OnOpen():
| Code : |
function onopen()
if pays is not null then
Set q = ActiveDocument
q.ClearAll (false)
Set f = q.Fields("COUNTRY_NAME"«»)
f.Select(pays)
set s = q.Sheets("SH06"«»)
s.Activate
s.SheetObjects("CH18"«»).Activate
end if
end function
|
Le problême est que si il y a bien une variable affectée, il m'ouvre et me referme QlikView immédiatement... comme si il ne faisait qu'une modification avant de se refermer. Si quelqu'un aurait une suggestion pour résoudre ce problême, je lui en serait très reconnaissant...
Par contre, on observe donc que QlikView peut être piloté de façon extrèmement poussée à partir d'une application extérieure, si on définit bien les macro-variables dans la commande d'ouverture et dans le VBScript. Cette fonctionnalité, si elle est bien exploitée, peut donc trouver une infinité d'utilisations...