|
info-dec.com
Pays:
| Inscrit le: 29 Oct 2006 |
| Messages: 174 |
| Localisation: France |
|
 |
| Posté le: Lun 06 Aoû, 2007 08:19 |
|
 |
 |
 |
 |
TAGS: Hyperion, essbase, add-in, olap, essvsetsheetoption, essvretrieve, essvpivot. Des pièges à éviter pendant l'utilisation de la macro EssVretrieve du toolkit hyperion essbase excel add-in:
1- La syntaxe de la macro est la suivante:
EssVRetrieve(nomFeuille, plage, verrou)
ByVal nomFeuille As Variant : nom de la feuille qui contient la zone de retrieve
ByVal plage As Variant : la plage ou zone de retrieve
ByVal verrou As Variant :
verrou | Action
----------------------------------
1 | Extrait les données sans verrouiller les cellules.
2 | Verrouille les cellules concernées dans la base de données et extrait les données.
3 | Verrouille les cellules concernées dans la base de données sans extraire les données.
Si verrou est NULL ou Empty, la valeur 1 est utilisée.
2- Exemple d'utilisation: (pris de l'aide d'essbase)
Declare Function EssVRetrieve Lib "ESSEXCLN.XLL" (ByVal nomFeuille As Variant, ByVal plage As Variant, ByVal verrou As Variant) As Long
Sub RetData()
X=EssVRetrieve("[Classeur.xls]Feuille1", Range("A1:F12"), 1)
If X = 0 Then
MsgBox("Extraction réussie.")
Else
MsgBox("Echec de l'extraction.")
End If
End Sub
3- Le premier piège à éviter est de mettre le nom de la feuille du court: veuillez bien à ce qu'il soit précédé du nom du classeur entre 2 crochets: "[Classeur.xls]Feuille1"
4- Le deuxième piège à éviter concerne le deuxième paramètre, à savoir la plage de retrieve (rafraichissement): c'est bien une plage et non le nom ou adresse d'une plage, donc n'oubliez pas le range, et pour plus de transparence et de sûreté: ne mettez pas simplement range("....."), mettez quelque chose comme: workbooks("classeur.xls".sheets("feuille1").range("A1:F12")
Autrement si jamais vous ne repectez pas ces 2 consignes, vous allez avoir comme résultat, ou valeur retour de la fonction (renvoyé dans X) dans l'exemple, la valeur -15, cette valeur veut dire que l'un des paralmètres n'est pas correct
|