IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

QlikView Discussion :

Automatiser exportation données de Qlikview vers Excel


Sujet :

QlikView

  1. #21
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 34
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    Merci de ta réponse, c'est top !

    Je sais donc extraire les données voulues depuis Qlikview vers un nouveau classeur Excel, appelons-le "ExtractDuJour.xlsx" qui prend cette forme :

    Nom : Extraction_QV.PNG
Affichages : 175
Taille : 3,6 Ko

    Je dois maintenant reporter chacune de ces valeurs dans une cellule spécifique d'un classeur qui est créé quotidiennement.

    Ex : Si le classeur vers lequel je dois exporter mes données s'appellent "StatsDuJour.xlsx" :
    - je copie la valeur 101 dans la cellule D14 du classeur "StatsDuJour.xlsx" ;
    - je copie la valeur 394 dans la cellule D5 du classeur "StatsDuJour.xlsx" ;
    - je copie la valeur 2187 dans la cellule D9 du classeur "StatsDuJour.xlsx" ;
    - etc.

    Donc plusieurs choix s'offrent à moi pour y parvenir :
    - soit j'écris un programme en VBA dans le classeur "StatsDuJour.xlsm" qui va chercher les données extraites dans le classeur "ExtractDuJour.xlsx" ;
    - soit je fais tout à partir du script VBS, dans ce cas, il faudrait modifier le code de sorte que les données extraites de QV soient directement collées dans les cellules du classeur "StatsDuJour.xlsx" sans passer par le classeur intermédiaire "ExtractDuJour.xlsx".

    J'espère être compréhensible dans mes explications...

    D'après moi, tout faire à partir d'un seul et unique script VBS est plus avantageux, puisque passer par des intermédiaires n'est jamais très bon, et que ça nécessite aussi de stocker tous les fichiers "ExtractDuJour" sans modifier leurs chemins d'accès ni leurs noms.

    Mais je voudrais aussi avoir l'avis d'un "expert" pour savoir vers quelle méthode me diriger, notamment en termes de facilité de codage, de fiabilité, d'optimisation, de temps d'exécution, d'utilisation de mémoire, etc.

  2. #22
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    Personnellement, je ferais tout dans le VBS, en faisant en sorte qu'il ouvre directement le fichier que je souhaite remplir.

  3. #23
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 34
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    Je te remercie, j'ai suivi ton avis et j'ai réussi à faire ce que je voulais, directement donc depuis mon script VBS.

    Par contre, je fais face à de nouvelles difficultés : il peut arriver que, pour certaines sélections de dates, le chart sous QV duquel je dois extraire mes valeurs ne renvoie aucune données et affiche uniquement le message "Error" en son centre.

    J'aimerais donc réaliser un test pour savoir si le chart contient des données et si non, renseigner la valeur 0 dans la cellule du fichier Excel à compléter. Un peu comme le code suivant, mais ici la condition de ma boucle if n'est pas bonne.

    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
    17
    18
    Set ExcelApp = CreateObject("Excel.Application")										
    ExcelApp.Visible = True																	
    Set Workbook = ExcelApp.Workbooks.open("chemin d'accès.xlsx")
     
    Set myApp = CreateObject("QlikTech.QlikView")											
    Set myDoc = myApp.OpenDoc("chemins d'accès.qvw")
    Set mySheet = myDoc.GetSheet("Stats")
     
    myDoc.Fields("DateJour").Select "01/12/2016"
     
    myDoc.Fields("Equipe.intitule").Select("Spurs")
     
    if not (mySheet.SheetObjects("CH99") is Empty) then
       Set obj = myDoc.GetSheetObject("CH99")
       objCell = obj.GetCell(1,20)
       Workbook.Worksheets(1).Cells(8,10) = objCell.Text
    else 
       Workbook.Worksheets(1).Cells(8,10) = "0"

  4. #24
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    Ce n'est pas parce qu'il n'y a pas de valeur dans le graphique que l'objet est "Empty".

    Que se passe-t-il si vous faites votre test directement sur
    ?

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 34
    Points : 15
    Points
    15
    Par défaut
    Quelque chose comme ça du coup :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Set obj = myDoc.GetSheetObject("CH99")
     
    if not (obj.GetCell(1,20) is Empty) then
       Workbook.Worksheets(1).Cells(8,10) = obj.GetCell(1,20).Text
    else 
       Workbook.Worksheets(1).Cells(8,10) = "0"
    Ne fonctionne pas et provoque une erreur non spécifiée.

  6. #26
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 34
    Points : 15
    Points
    15
    Par défaut
    Pour ceux qui seraient intéressés :

    J'ai utilisé la commande suivante :

    Elle permet de poursuivre l'exécution du script même si une erreur survient.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [PR-2007] Exportation données MS Project vers Excel en VBA
    Par Miguel973 dans le forum VBA Project
    Réponses: 3
    Dernier message: 14/09/2015, 17h54
  2. [Toutes versions] Automatiser extraction données pdf/word vers Excel
    Par adevy dans le forum Excel
    Réponses: 6
    Dernier message: 07/07/2014, 09h15
  3. [XL-2007] Exportation données MS Project vers Excel en VBA
    Par Miguel973 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 30/03/2011, 16h21
  4. [Excel] Export données de MySQL vers Excel
    Par fthem dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 29/11/2010, 17h37
  5. Export de données d'Access vers Excel
    Par ROPERS dans le forum Access
    Réponses: 4
    Dernier message: 11/10/2005, 17h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo