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

SAP Discussion :

La fonction Xxl_full_api


Sujet :

SAP

  1. #21
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Juin 2003
    Messages : 167
    Points : 164
    Points
    164
    Par défaut
    Merci pour les infos, pour les SHEETS et LES WORKSHEETS => je ne connaissais pas cette diffèrence.

    Mais j'ai un problème pour la création de mon objet Worksheet!!!

    Lorsque je souhaite créer mon objet Worksheet, ça ne fonctionne pas, ke je fasse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CALL METHOD OF lw_excel 'WORKSHEET' = lw_worksheet.
    ou
    CALL METHOD OF lw_worksheets 'WORKSHEET' = lw_worksheet.
    ou
    GET PROPERTY OF lw_worksheets 'WORKSHEET' = lw_worksheet.
    En fait, je pense que c'est juste cette création qui me pose un pb, car tes mail précédents étaient bien détaillés, et je m'en suis sorti. En utilisant, l'explorateur d'objet du VBA editor, ca peut aller... mais ce worksheet

    Pourrais-tu me guider la dessus SVP??
    Merci d'avance.

  2. #22
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut
    Sauf que si lw_excel est ton objet application , il n'a pas de méthode workbook, Ni meme de propriété workbook mais seulement une propriété Workbooks = la collection

    DOnc moi je verrais plus un truc PROCHE DE MAIS PAS NECESSAIREMENT EGAL A :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    "Recupere une worksheet
    get property of lw_excel 'WORKSHEETS' = lw_worksheets.
    
    "Ajoute un worksheet a la collection 
    call method of lw_worksheets 'ADD' = lw_monworksheet

    Le tout en considérant que tu as un seul workbook et que de ce fait, la collection worksheets accessible depuis l'objet application ( lw_excel) ne contient que les worksheets d'un unique workbook.
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  3. #23
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Juin 2003
    Messages : 167
    Points : 164
    Points
    164
    Par défaut
    Et bien j'étais pourtant sur d'avoir essayer cette méthode, ais il semblerait que non

    Où j'avais fait, comme un boulet, un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    call method of lw_worksheets 'ADD' = lw_worksheets
    Merci encore clad.

    Qd j'aurai finis mon dev, je ferai un récap. des instructions pr l'OLE!!!

  4. #24
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Hello,

    L'OLE c est bien, mais hyper gourmand en ressource, et c est assez long si ily a beaucoup de donnée..

    Au fait Sh@m@n, la fonction ZXXL_FULL_API, j la connait tres tres bien ..

    a++

    Dwarf

  5. #25
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Juin 2003
    Messages : 167
    Points : 164
    Points
    164
    Par défaut
    lol Dwarf, tu m'étonnes

    C'est long c'est sur, mais au moins tu peux faire ce ke tu veux : mise en forme, encadrement...

    C'est vrai que là je suis sur un pgm qui va générer 14feuilles ds un meme classeurs, mais il y a tellement de contraintes (ex : mettre le total PASSIF ds la page "Passif" ds la cellule C24) que je n'ai pas vraiement le choix!!!

    Et puis comme ca, celui ki le lance peux aller prendre son café le tps de l'exécution ^_^


    Une fois ke tu maitrises, c'est vrai que c'est le top qd meme

  6. #26
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut
    Citation Envoyé par Sh@m@n Voir le message
    lol Dwarf, tu m'étonnes

    C'est long c'est sur, mais au moins tu peux faire ce ke tu veux : mise en forme, encadrement...

    C'est vrai que là je suis sur un pgm qui va générer 14feuilles ds un meme classeurs, mais il y a tellement de contraintes (ex : mettre le total PASSIF ds la page "Passif" ds la cellule C24) que je n'ai pas vraiement le choix!!!

    Et puis comme ca, celui ki le lance peux aller prendre son café le tps de l'exécution ^_^


    Une fois ke tu maitrises, c'est vrai que c'est le top qd meme
    Petits astuce maison pour optimiser : remplir les cellules une à une ca fait perdre du temps et ne sert à rien en soit.
    Le but de la technique OLE c'est d'ajouter les différents ornements = formatage, formule et j'en passe et des meilleurs.
    Du coup, tu fais d'abord un export des cellules dans un CSV classique.
    Ensuite tu ouvres ton CSV puis tu déplaces ces cellules au besoin via OLE : il faut mieux simuler un couper/coller en OLE que 400 commandes de remplissage de cellule ...
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  7. #27
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Juin 2003
    Messages : 167
    Points : 164
    Points
    164
    Par défaut
    C'est vrai ke l'alimentation cellule par cellule n'est pas la meilleur méthode, mais le plus lourd reste qd meme le formatage des celules

    Là où j'en suis de mon dev., je ne peux plus revenir en arrière, donc je vais concervé mon alimentation des cellules comme elle est, et à mon prochain pgm j'appliquerai ton "Copier/Coller" Clad

    Je pense à un truc là, ta simulation de copier/coller, va qd meme se faire à partir de l'OLE, donc on va qd meme alimenter les cellules une à une lors du coller (sauf, bien sûr, dans le cas où on va recopier la ligne). Et donc, faire 100 copier/coller où 100 remplissage de cellules => c'est le remplissage qui devrait être le plus performant, non???
    Toi qui a dû tester les 2, tu en penses koi?

  8. #28
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut
    Que lorsque tu remplis 100 cellules une à une tu fais 100 appels OLE.
    Ca prend plus de temps que le couper /Coller au cours du quel tu fais 3 opérations par ensemble de cellules à déplacer : une selection, un couper, un coller.
    DOnc si tu déplaces des rangs entiers de cellules c'est beaucoup plus rapide mais ca reste à voir au cas par cas, il existe bien un cas ou ca peut faire perdre du temps, si toute les cellules sont espacées les unes des autres (sans cellule voisine) car dans ce cas tu les déplaces une à une, mais c'est un cas que je n'ai jamais rencontré.
    Une autre chose à savoirsur l'intêret de l'OLE, c'est que ce n'est ni spécifique à Excel, tu peux par exemple mettre à jour des réunions dans Outlook avec cette méthodeou créer des documents Word ...
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  9. #29
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Juin 2003
    Messages : 167
    Points : 164
    Points
    164
    Par défaut
    bon savoir pour le word et autre.

    Et bien il semblerait ke je sois ds le cas que tu n'as jamais eu , i.e. que j'ai des colonnes espacées et d'autres contrainte ki m'oblige à faire du remplissage 1 à 1

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Fonction API
    Par margilb dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/07/2002, 11h11
  3. Implémentation des fonctions mathématiques
    Par mat.M dans le forum Mathématiques
    Réponses: 9
    Dernier message: 17/06/2002, 16h19
  4. fonction printf
    Par ydeleage dans le forum C
    Réponses: 7
    Dernier message: 30/05/2002, 11h24
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

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