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

WinDev Discussion :

copier une feuille excel en ole automation [WD12]


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Points : 17
    Points
    17
    Par défaut copier une feuille excel en ole automation
    Bonjour,

    J'ai besoin de créer puis de mettre à jour un classeur Excel à partir d'une application Windev.
    J'aimerais copier une feuille dans le même classeur.
    L'instruction xl>>ActiveSheet>>Copy() copie bien la feuille mais dans un nouveau classeur.
    Est-ce que quelqu'un connaît le paramètre afin de dire que la feuille doit être copiée dans le classeur actif ?
    Merci

  2. #2
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Bonjour,

    bien que quelqu'un dans ce forum puisse avoir la réponse, je pense que c'est une question concernant Excel plutôt que Windev.

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Regardez la documentation des éléments que vous utilisez, l'automation office est très bien documentée :

    excel worksheet copy - Recherche Google


    1er résultat :
    Si vous ne spécifiez pas Before ou After, Microsoft Office Excel crée un nouveau classeur qui contient la feuille copiée.
    Source :
    http://msdn.microsoft.com/fr-fr/libr...py(VS.80).aspx

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    J'ai testé avec l'argument before :
    xl>>Sheets("modele")>>Select
    xl>>Sheets("modele")>>Copy(Before)

    mais j'obtiens le message d'erreur suivant :
    "L'élément 'Before' est inconnu"

    Si je fais :
    xl>>Sheets("modele")>>Copy("Before")

    J'ai l'erreur :
    Vous avez appelé la méthode Automation 'Copy' Erreur 800A03EC
    Impossible de lire la propriété Copy de la classe Worksheet
    La méthode Copy de la classe Worksheet a échoué
    Impossible de définir la propriété Copy de la clase Worksheet

    Est-ce que vous connaîtriez la syntaxe exacte à utiliser ?

    Merci

  5. #5
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 379
    Points : 4 496
    Points
    4 496
    Par défaut
    Bonjour

    Voici une syntaxe qui fonctionne pour le Before, pour le After je n'ai pas cherché plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    oXls est un objet OLE "Excel.Application"
     
    QUAND EXCEPTION
       Erreur(ExceptionInfo())
    FIN
     
    oXls>>Workbooks>>Add()
    oXls>>visible=OLEVrai
     
    // Copie de Feuil1 avant Feuil3
    oXls>>Sheets("Feuil1")>>Copy(oXls>>Sheets("Feuil3"))
     
    // On peut utiliser aussi la position
    oXls>>Sheets("Feuil1")>>Copy(oXls>>Sheets(3))

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    Merci beaucoup hpascal, cela fonctionne très bien.

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

Discussions similaires

  1. Copier une feuille Excel dans une autre : Erreur 9
    Par Secco dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/06/2008, 11h24
  2. copier une feuille excel vers un autre fichier excel en access VBA
    Par acbdev dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/03/2008, 09h32
  3. [VBA-E] Copier une feuille excel d'un fichier A vers un fichier B
    Par skystef dans le forum Macros et VBA Excel
    Réponses: 28
    Dernier message: 22/03/2007, 10h49
  4. Comment copier une feuille EXCEL sous ACCESS?
    Par PAULOM dans le forum Access
    Réponses: 7
    Dernier message: 28/04/2006, 10h01

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