PB à toute heure et à tout moment. (à parcourir avec modération)

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.
  • Index
  •  » Powerscripts
  •  » [RESOLU] PB7.0-OLE-XLS-Utilisation fonctions avec paramètres et constantes

#1 04-09-2007 18:24:32

vincenteraptor  
Membre
Date d'inscription: 19-07-2007
Messages: 8
Pépites: 45
Banque: 0

[RESOLU] PB7.0-OLE-XLS-Utilisation fonctions avec paramètres et constantes

Bonjour à tous,

J'ai trouvé de nombreux exemples de code sur powerbuilder à donf pour manipuler les objets OLE - EXCEL, cependant je n'arrive pas à utiliser des fonctions excel avec des paramètres et des constantes.

Je m'explique:

Je souhaite trier par exemple des lignes, donc utiliser la fonction Sort(). Dans une documentation, j'ai trouvé ceci:

Code: vb

'expression.Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3)

'Exemples

Sub SortRange1()
   Worksheets("Sheet1").Range("A1:C20").Sort _
        Key1:=Worksheets("Sheet1").Range("A1"), _
        Key2:=Worksheets("Sheet1").Range("B1")
End Sub
    

Sub SortRange2()
   Worksheets("Sheet1").Range("A1").Sort _
        Key1:=Worksheets("Sheet1").Columns("A"), _
        Header:=xlGuess
End Sub

Cependant je n'arrive pas à utiliser cette fonction dans PB avec des paramètres et des constantes. J'ai essayé ceci:

Code: pb

lo_ole.Range("A11:F26").Select
lo_ole.Selection.Sort (Key1:=Range("A11"), Order1:=xlAscending, Header:=xlGuess, &
              OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom)

également ceci (sans les ":"):

Code: pb

lo_ole.Range("A11:F26").Select
lo_ole.Selection.Sort (Key1=Range("A11"), Order1=xlAscending, Header=xlGuess, &
              OrderCustom=1, MatchCase=False, Orientation=xlTopToBottom)

ou ceci, juste les valeurs:

Code: pb

lo_ole.Range("A11:F26").Select
lo_ole.Selection.Sort (lo_ole.Range("A11"), "xlAscending", "xlGuess", &
              1, False, "xlTopToBottom")

mais rien ne semble fonctionner. Pourtant en faisant

Code: pb

lo_ole.Range("A11:F26").Select
lo_ole.Selection.Sort (lo_ole.Range("A11"))

j'arrive à trier mais je voudrai pouvoir utiliser les autres paramètres de la fonction. Surtout qu'après le tri je dois utiliser la fonction subtotal et j'ai le même soucis car elle a plusieurs paramètres:

Code: pb

expression.Subtotal(GroupBy, Function, TotalList, Replace, PageBreaks, SummaryBelowData)

Si quelqu'un a déjà utilisé les tris et sous-totaux, je le remercie d'avance pour l'aide qu'il voudra bien m'apporter.

Vincent.

Dernière modification par vincenteraptor (05-09-2007 16:15:09)

Hors ligne

 

#2 05-09-2007 09:22:03

FMolinas  
Membre Geek
Lieu: Lyon
Date d'inscription: 12-06-2007
Messages: 87
Pépites: 97
Banque: 6,435,474,948,567

Re: [RESOLU] PB7.0-OLE-XLS-Utilisation fonctions avec paramètres et constantes

J'imagine que tu as des erreurs à la compilation du script ?

Les constantes "xlChose" ne sont pas connues par PB, il te faut les redéfinir toi-même (dans ton script, en variable locale ou mieux encore dans un UserObject dédié à la communication avec Excel).
Pour connaître leur valeur : active l'explorateur d'objets de ton Visual Basic pour Excel, les énumérations que tu cherches y sont listées.

Pour ce qui est du nommage des paramètres, je ne crois pas que PB supporte cette technique. Tu en es réduit à utiliser tous les paramètres dans l'ordre.

Hors ligne

 

#3 05-09-2007 14:07:52

vincenteraptor  
Membre
Date d'inscription: 19-07-2007
Messages: 8
Pépites: 45
Banque: 0

Re: [RESOLU] PB7.0-OLE-XLS-Utilisation fonctions avec paramètres et constantes

MERCI !!!!

Cela semble fonctionner.

Voici le code pour ceux qui rencontreraient le même problème:

Code: pb

lo_ole.Range("A10:N13").Select
lo_ole.Selection.Sort(lo_ole.Range("B10"),2) lo_ole.Range("A9:N34").Select
lo_ole.Selection.Subtotal(1, -4157, li_colonnes) // li_colonnes est un tableau d'entiers


Encore merci pour cette aide.

A bientôt

Vince.

Hors ligne

 

#4 05-09-2007 14:23:20

JCZ  
Builder Power
Award: bf
Lieu: 75019 paris
Date d'inscription: 21-05-2007
Messages: 1724
Pépites: 496,453,703,213
Banque: 9,223,372,036,854,775,808

Re: [RESOLU] PB7.0-OLE-XLS-Utilisation fonctions avec paramètres et constantes

Salut
Peux tu modifier le titre du premier message et mettre [RESOLU]


Face à l'agression, la puissance de l'intelligence

Hors ligne

 
  • Index
  •  » Powerscripts
  •  » [RESOLU] PB7.0-OLE-XLS-Utilisation fonctions avec paramètres et constantes

Pied de page des forums

Propulsé par FluxBB 1.2.22