Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

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