OVH Cloud OVH Cloud

Workbooks.add

4 réponses
Avatar
PM
Bonjour !

Quand je fais : Workbooks.add dans VBA, j'obtiens un nouveau classeur.
Visible.

Quand je fais : Excel.Workbooks.add dans une dll en VB qui pilote Excel, le
classeur n'est pas visible. Il est néanmoins crée dans le répertoire voulu.
Si ensuite je clique dessus, à la main (pour voir...), il est en lecture
seule.

Qui peut me dire comment créer un nouveau classeur utilisable quand je suis
dans VB et que je pilote Excel par Automation ?

Merci !

--
Patrick Momal

4 réponses

Avatar
Bob Phillips
Bonjour Patrick,

xlApp.Windows("classeur_nom").Visible = True

--

HTH

RP
(remove nothere from the email address if mailing direct)


"PM" wrote in message
news:%
Bonjour !

Quand je fais : Workbooks.add dans VBA, j'obtiens un nouveau classeur.
Visible.

Quand je fais : Excel.Workbooks.add dans une dll en VB qui pilote Excel,
le

classeur n'est pas visible. Il est néanmoins crée dans le répertoire
voulu.

Si ensuite je clique dessus, à la main (pour voir...), il est en lecture
seule.

Qui peut me dire comment créer un nouveau classeur utilisable quand je
suis

dans VB et que je pilote Excel par Automation ?

Merci !

--
Patrick Momal




Avatar
papou
Bonjour
En théorie, tu dois affecter la valeur Visible à l'application.
Donc AppXl.Visible = True
PS : Attention au nommage de ton objet Excel surtout si tu utilises une
référence à Excel.
Cordialement
Pascal

"PM" a écrit dans le message de news:
%
Bonjour !

Quand je fais : Workbooks.add dans VBA, j'obtiens un nouveau classeur.
Visible.

Quand je fais : Excel.Workbooks.add dans une dll en VB qui pilote Excel,
le classeur n'est pas visible. Il est néanmoins crée dans le répertoire
voulu. Si ensuite je clique dessus, à la main (pour voir...), il est en
lecture seule.

Qui peut me dire comment créer un nouveau classeur utilisable quand je
suis dans VB et que je pilote Excel par Automation ?

Merci !

--
Patrick Momal




Avatar
PM
Merci !

En fait, j'ai compris que je dois ouvrir comme suit

Classeur_ouvert.application.workbooks.add

Sinon, on crée une nouvelle instance d'Excel et les deux instances ne savent
pas bien communiquer.
Ce n'était pas clair dans la question, maintenant c'est clair pour moi !

--
Patrick Momal

"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Bonjour
En théorie, tu dois affecter la valeur Visible à l'application.
Donc AppXl.Visible = True
PS : Attention au nommage de ton objet Excel surtout si tu utilises une
référence à Excel.
Cordialement
Pascal

"PM" a écrit dans le message de news:
%
Bonjour !

Quand je fais : Workbooks.add dans VBA, j'obtiens un nouveau classeur.
Visible.

Quand je fais : Excel.Workbooks.add dans une dll en VB qui pilote Excel,
le classeur n'est pas visible. Il est néanmoins crée dans le répertoire
voulu. Si ensuite je clique dessus, à la main (pour voir...), il est en
lecture seule.

Qui peut me dire comment créer un nouveau classeur utilisable quand je
suis dans VB et que je pilote Excel par Automation ?

Merci !

--
Patrick Momal








Avatar
PM
Merci !

En fait, j'ai compris que je dois ouvrir comme suit

Classeur_ouvert.application.workbooks.add

Sinon, on crée une nouvelle instance d'Excel et les deux instances ne savent
pas bien communiquer.
Ce n'était pas clair dans la question, maintenant c'est clair pour moi !


--
Patrick Momal

"Bob Phillips" a écrit dans le message
de news: eQ$
Bonjour Patrick,

xlApp.Windows("classeur_nom").Visible = True

--

HTH

RP
(remove nothere from the email address if mailing direct)


"PM" wrote in message
news:%
Bonjour !

Quand je fais : Workbooks.add dans VBA, j'obtiens un nouveau classeur.
Visible.

Quand je fais : Excel.Workbooks.add dans une dll en VB qui pilote Excel,
le

classeur n'est pas visible. Il est néanmoins crée dans le répertoire
voulu.

Si ensuite je clique dessus, à la main (pour voir...), il est en lecture
seule.

Qui peut me dire comment créer un nouveau classeur utilisable quand je
suis

dans VB et que je pilote Excel par Automation ?

Merci !

--
Patrick Momal