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

VBScript Discussion :

conversion xlsx à csv avec formule de 499947 lignes


Sujet :

VBScript

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2008
    Messages : 67
    Par défaut conversion xlsx à csv avec formule de 499947 lignes
    bonjour

    j'ai un fichier excel avec une formule qui traite 499947 lignes ,alors que la conversion du fichier xlsx vers un .csv se fait dans un serveur ou il existe l'office 2003(nombre de ligne est limité à 65536)

    j'ai crée un script VBS pour changer le nombre de ligne à traiter dans la formule mais il génére des erreurs:

    la ligne suivante corrige seulement la cellule2 de la colonne A

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objWorksheet.range("A2:A2").FormulaR1C1 = "=VLOOKUP(RC2,mapping!R4C5:R65536C6,2,0)"
    je ne connais pas le nombre exact des lignes à traiter puisqu'il est variable ,je fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objWorksheet.range("A2:A65536").FormulaR1C1 = "=VLOOKUP(RC2,mapping!R4C5:R65536C6,2,0)"
    cela prend beaucoup de temps pour générer le fichier .csv ,et ce fichier contient plus les lignes correctes des lignes avec #N/A,

    je ne sais pas comment faire pour que ma formule s'applique seulement sur les lignes non vides

    sinon est ce qu'il existe une autre manière pour faire passer ma conversion de xlsx à csv sans changer la formule en sachant que dés le lancement du script il y a la génération de l'erreur

    ---------------------------
    Microsoft Office Excel
    ---------------------------
    This file was created in a newer version of Microsoft Excel. The file has been converted to a format you can work with, but the following issues were encountered. The file has been opened in read-only mode to protect the original file.

    - This workbook uses more rows and/or columns than are supported in this version of Excel. Any data outside 256 (IV) columns by 65,536 rows will not be opened. Any formula references to data in this region will return #REF! error.
    ---------------------------
    OK
    ---------------------------

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2008
    Messages : 67
    Par défaut
    j'ai trouvé la solution après des dizaine d’essais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DerniereLigne = objWorksheet.Range("A2").CurrentRegion.End(xlDown).Row
     
    	objWorksheet.range("A2:A"&DerniereLigne).FormulaR1C1 = "=VLOOKUP(RC2,mapping!R4C5:R65536C6,2,0)"
    avec


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

Discussions similaires

  1. copier ligne avec formule et creer une feuille par ligne
    Par yanchs dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 27/01/2008, 18h04
  2. Ouvrir un fichier csv avec plus de 65535 lignes
    Par mustang-ffw02 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 09/10/2007, 20h46
  3. [CSV] Export CSV avec PHP (saut de ligne)
    Par Indy80 dans le forum Langage
    Réponses: 2
    Dernier message: 10/08/2006, 16h08
  4. Réponses: 7
    Dernier message: 29/06/2006, 12h33
  5. [Excel VB] Insertion ligne avec formules
    Par ptitsoleil87 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/12/2005, 16h21

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