Pouvoir nommer une plage de cellules dans EXCEL avec la classe fournie avec la version WD10

Le
Moua
Bonjour à tous.

Après avoir alimenté les différents feuilles d’un tableau EXCEL avec la
classe en OleAutomation, je voudrai nommer des plages de cellules.

La syntaxe VBA est :

ActiveWorkbook.Names.Add Name:="PlanCompte",
RefersTo:="=Plan!A1:A120"
Pour donner le nom « PlanCompte » à la plage de cellules “A1 à A120” de
la feuille “Plan”

En Windev 10 je tente d’utiliser la syntaxe :

:m_xExcel>>ActiveWorkbook>>Names>>Add("Name:="+psNom ,
"RefersTo:="+sDefinition)

Où PsNom est le nom a donner et sDefinition est une chaîne de
caractères a la valeur : "=Plan!A1:A120".

Après cette instruction la gestion des erreurs me donne :

--
Vous avez appelé la méthode Automation <Add>

En tentant d’invoquer la propriété <Add> ou de lire la propriété <Add>,
l’objet Automation/ActiveX a renvoyer l’erreur suivante :
‘800A03EC’, nom non valide

En tentant d’invoquer la propriété <Add>, l’objet Automation/ActiveX a
renvoyer l’erreur suivante :
‘800A03EC’, nom non valide

En tentant de lire la propriété <Add>, l’objet Automation/ActiveX a
renvoyer l’erreur suivante :
‘80020003’, le membre demandé n’existe pas

En tentant d’écrire la propriété <Add>, l’objet Automation/ActiveX a
renvoyer l’erreur suivante :
‘80020003’, le membre demandé n’existe pas
--

Je pense que c’est dans la façon de passer les paramètres à la méthode
Add() qui n’est pas bonne, mais je ne trouve pas la bonne méthode.

Quelqu’un a-t-il déjà fait cette manipulation ?

Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
patrice
Le #18374761
"Moua" news:gkhas4$6ia$
Bonjour à tous.
La syntaxe VBA est :

ActiveWorkbook.Names.Add Name:="PlanCompte",
RefersTo:="=Plan!A1:A120"




:m_xExcel>>ActiveWorkbook>>Names>>Add("Name:="+psNom ,
"RefersTo:="+sDefinition)




le function f(a=v1, b=v2) est la syntaxe vba pour lier des parametres par
leur nom.
En ole, tu peut pas faire ca, faut les passer dans l'ordre
soit : f(v1,v2) ou f(v2,v1)
faut aller voir dans la doc sur msdn l'ordre de passage des variables, ainsi
que la liste complete.
Moua
Le #18374851
patrice avait soumis l'idée :
"Moua" news:gkhas4$6ia$
Bonjour à tous.
La syntaxe VBA est :

ActiveWorkbook.Names.Add Name:="PlanCompte",
RefersTo:="=Plan!A1:A120"




:m_xExcel>>ActiveWorkbook>>Names>>Add("Name:="+psNom ,
"RefersTo:="+sDefinition)




le function f(a=v1, b=v2) est la syntaxe vba pour lier des parametres par
leur nom.
En ole, tu peut pas faire ca, faut les passer dans l'ordre
soit : f(v1,v2) ou f(v2,v1)
faut aller voir dans la doc sur msdn l'ordre de passage des variables, ainsi
que la liste complete.



Merci Patrice, c'était effectivement le problème. Maintenant cela
fonctionne.
Publicité
Poster une réponse
Anonyme