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 :

Export Excel via macro supprime les premiers d'un nombre (convertion en text)


Sujet :

QlikView

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 20
    Points : 21
    Points
    21
    Par défaut Export Excel via macro supprime les premiers d'un nombre (convertion en text)
    Bonjour,

    J'ai un problème avec ma macro d'export de mon tableau vers excel.
    Je souhaite exporter un tableau dans XLS dans une page et mettre les sélections actives dans une autre page.
    Lorsque que j'utilise la macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Sub ExcelExtract()
    	SET objet=ActiveDocument.GetSheetObject("CH05")
    	objet.SendToExcel
    End Sub
    cela me donne le bon tableau dans excel mais je n'ai pas les sélections actives dans une autre page (je souhaite vraiment les avoir sur une autre page et pas à la suite du tableau comme peut le faire l'exportation BIFF > préférence utilisateur > exporter >exportation des sélections actives) et ne voit pas comment faire.

    J'ai essayé une autre façon avec la macro utilisée via ce post http://www.developpez.net/forums/d12...trement-d-xls/ mais par contre, j'ai un autre problème : il y a des colonnes de mon tableau commençant pas "0" et avec l'export, XLS les supprime et considère cela comme du numérique (je voudrais les convertir en "text").

    Est ce que quelqu'un d'entre vous a une idée pour répondre à mon besoin ?


    Par avance merci,

  2. #2
    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
    Salut mighty !


    Si tu veux jouer avec plusieurs onglets, il faudra passer par un objet de type "Excel".

    J'ai modifié mon exemple de code donné dans l'autre thread pour faire ce que tu souhaites :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    sub ExportExcel
    	SET XLApp = CreateObject("Excel.Application") 'on définie l'objet
    	XLApp.Visible = True           'on veut que Excel soit visible
     
     
     	' On veut qu'Excel fasse par défaut des worbooks à 2 feuilles.
    	XLApp.SheetsInNewWorkbook = 2
    	' On crée un workbook (qui aura donc 2 feuilles).
    	SET XLDoc = XLApp.Workbooks.Add
     
    	SET table = ActiveDocument.GetSheetObject("CH01") 'on recupère l'objet qui nous intéresse, ici celui avec l'identifiant "TABLE_TEST"
    	table.CopyTableToClipboard true 'on copie dans le presse-papier
     
    	SET XLSheet = XLDoc.Worksheets(1) 'on se met sur la feuille qui nous intéresse
    	XLSheet.Paste XLSheet.Range("A1") 'on colle le presse-papier à partir de la première cellule (A1)
    	XLSheet.Name = "Donnees" 'on renomme la feuille
     
     
    	ActiveDocument.CopyCurrentSelectionsToClipboard 'on copie les sélections dans le presse-papier
     
    	SET XLSheet = XLDoc.Worksheets(2) 'on se met sur la feuille qui nous intéresse
    	XLSheet.Paste XLSheet.Range("A1") 'on colle le presse-papier à partir de la première cellule (A1)
    	XLSheet.Name = "Selections" 'on renomme la feuille
     
    	XLDoc.SaveAs "c:\temp\test.xls" 'on enregistre dans un fichier
    end sub
    Il faudra faire en sorte que les macros aient les niveau de sécurités adéquats.



    Dis moi si ça correspond à tes attentes.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 20
    Points : 21
    Points
    21
    Par défaut
    Salut PhunkyBob,

    Merci pour ta réponse, cela correspond à ce je veux effectivement, mais on tombe dans mon 2ème problème : la suppression des premiers "0".
    J'ai une colonne où les données sont du genre "001, 002, 003...", et après l'export excel, cela me donne "1, 2, 3..." ce qui n'est pas correct pour moi.
    Y a t'il moyen de garder ces "0" dans l'export ?

  4. #4
    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
    Je ne constate pas ce problème.

    Dans l'onglet "nombre", tu as mis autre chose que "Par défaut" ?
    Si je mets un texte qui ne contient que des chiffres avec le format "par défaut", je conserve bien l'affichage dans Excel (et d'ailleurs, il me met la petites alerte "nombre stocké sous forme de texte").

    Ton expression ressemble à quoi ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 20
    Points : 21
    Points
    21
    Par défaut
    Ce n'est pas une expression mais une dimension de mon tableau simple
    Ceci dit, j'ai essayé de la mettre en expression, de rajouter Text(mon champ) de faire un tcd ou une zone de table mais j'ai à chaque fois la même chose (colonne ISSNO) :

    Nom : error.gif
Affichages : 276
Taille : 9,9 Ko

  6. #6
    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
    Effectivement, le comportement d'Excel est bizarre sur ce genre de donnée.

    Une façon de faire pour contourner, c'est de mettre au format Excel :

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 20
    Points : 21
    Points
    21
    Par défaut
    Merci PhunkyBob,

    j'ai un peu modifié ta formule qui ne marchait pour mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    '=TEXTE(' & MonChamp & '; "000")'
    (car je sais que mon champ fait 3 caractères),

    Ça marche mais bon, m'oblige à avoir des tailles fixes.

  8. #8
    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
    Le fait de faire apparaitre
    dans le tableau qui est exporté, fait que Excel a bien cette formule comme valeur de cellule. Et c'est (une des) façon de faire pour forcer Excel à ne pas appliquer sa p$%@!² de mise en forme automatique.
    (comme quand on veut écrire "FRANCE" dans une cellule, et que Excel trouve ça marrant de le changer en "France")

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Macro qui compare 2 colonnes de 2 feuilles excel et qui supprime les différences.
    Par a.saussois dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 29/11/2010, 17h35
  2. Afficher une photo .Jpg sur Excel via macro Excel
    Par moilou2 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/04/2008, 11h51
  3. Transfert de données Word vers Excel via macro
    Par Pascalou2008 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 10/03/2008, 22h02
  4. Valeur absolue de montant dans excel via macro
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/05/2007, 18h09
  5. Supprimer les premiers 0 dans une chaîne
    Par supersmoos dans le forum Langage
    Réponses: 2
    Dernier message: 11/01/2007, 11h28

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