Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Utilisation d'excel depuis VB

4 réponses
Avatar
YannX
Bnjr a tous,

Bien qu'il semble que les réponses soient moins fréquentes (? ;-),
j'y vais de la mienne, ou des miennes, car je n'arrive pas a maîtriser Excel
depuis VB :
je veux générer un graphique depuis une feuille re-chargée depuis mon
programme.
(oui, j'ai laissé tomber MSChart : n'est-ce pas la recommandation a
retenir du form ?)

Je la crée, j'y inscris mes nombres, et c'est parti : je précise que je crée
ex-nihilo,
d'ailleurs je voudrais bien forcer Excel à ne m'ouvrir qu'une feuille de
classeur
(malgré le paramétrage utilisateur créant par défaut 3 feuilles par
classeur) :
est-il possible

1°/ d'abord, je peux bien créer une série, mais pour la seconde.....nada !
jXL.Range("B1:C" & nbLigs + 1).Select
Set jXLCh = jXL.Charts.Add
Range("D2:E12").Select <-------- refus a
ce niveau !
jXLCh.Select ' Sheets("Graph1").Select
ActiveChart.PlotArea.Select

2°/ je voudrais aussi controler le classeur Excel, c'est-à-dire :
a) en cas d'errreur (surtout en mise au point), refermer ce classeur
b) empecher toute modif sous Excel, (désactiver la plupart des menus),
sauf...
c) imprimer, et pointer-supprimer des points par clic-souris !

Pouvez-vous me dire par quel bout prendre ce point.
Je passe sur les erreurs récurrentes que je m'offre sur les objets d'
Excel.....

Merci de toute piste, référence que je n'aurais pas repérée...
Ras le bol de chercher tout seul.

@+
Y

4 réponses

Avatar
Quasimodo
YannX brought next idea :
Bnjr a tous,

Bien qu'il semble que les réponses soient moins fréquentes (? ;-),
j'y vais de la mienne, ou des miennes, car je n'arrive pas a maîtriser Excel
depuis VB :
je veux générer un graphique depuis une feuille re-chargée depuis mon
programme.
(oui, j'ai laissé tomber MSChart : n'est-ce pas la recommandation a
retenir du form ?)

Je la crée, j'y inscris mes nombres, et c'est parti : je précise que je crée
ex-nihilo,
d'ailleurs je voudrais bien forcer Excel à ne m'ouvrir qu'une feuille de
classeur
(malgré le paramétrage utilisateur créant par défaut 3 feuilles par
classeur) :
est-il possible

1°/ d'abord, je peux bien créer une série, mais pour la seconde.....nada !
jXL.Range("B1:C" & nbLigs + 1).Select
Set jXLCh = jXL.Charts.Add
Range("D2:E12").Select <-------- refus a
ce niveau !
jXLCh.Select ' Sheets("Graph1").Select
ActiveChart.PlotArea.Select

2°/ je voudrais aussi controler le classeur Excel, c'est-à-dire :
a) en cas d'errreur (surtout en mise au point), refermer ce classeur
b) empecher toute modif sous Excel, (désactiver la plupart des menus),
sauf...
c) imprimer, et pointer-supprimer des points par clic-souris !

Pouvez-vous me dire par quel bout prendre ce point.
Je passe sur les erreurs récurrentes que je m'offre sur les objets d'
Excel.....

Merci de toute piste, référence que je n'aurais pas repérée...
Ras le bol de chercher tout seul.

@+
Y



bonjour,
En premier lieux, devez-vous trvailler avec une technologie en
particulier?
Si non, avez-vous tester en utilisant le modèle com :
Ceci afin de vous renvoyez sur mon poste du 11/10/2004 en réponse à la
question : EXCELL dans ACCESS de JCM.
1. Devez-vous ouvrir un fichier existant ou pouvez-vous le créer de
toute pièces.
2. N'utilisez pas ole automation, mais plutôt le modèle mis à
disposition (application....)
Voila j'espere peut être un début de piste.

@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com
Avatar
YannX
Bonjour Quaz,

Je remercie l'un des deux meilleurs répondeurs -pour mes questions-
La recherche de la référence cité m'inciterait a prendre contact avec JCM
(on passe par les mêmes questions/etapes/bugs...)

J'ai intercalé des précisions dans la suite du post.

Mais en fait, je crois que le VRAI problème vient d'abord de la
compréhension
des imbrications WorkSheet et Chart d'une part,
de la bonne maitrise de la gestion du Me et du Nothing en VB
et de la difficulté de reconstruire une vue globale des facettes du .Chart
( ChartWizard pourrait aider !)

En fait, je balance entre trois pistes :
-a- MSChart
-b- Excel.Application
-c- OWC (cf. http://patrice.dargenton.free.f/divers/vbxl.html )

Qui m'ont l'air aussi mal documentées les unes que les autres !
J'ai meme essayé de recupérer la liste des "Rubriques trouvées" de
l'objet xlobjChart.htm (en parcourant VBAXL09.chm) mais
cette facilité déroulante passe par un ActiveX, donc c'est Scylla ! helas..

MSDN => volume inutilisable ! ;-)

@+
Y

"Quasimodo" a écrit dans le message de
news:
YannX brought next idea :
> Bnjr a tous,
>
> Bien qu'il semble que les réponses soient moins fréquentes (? ;-),
> j'y vais de la mienne, ou des miennes, car je n'arrive pas a maîtriser


Excel
> depuis VB :
> je veux générer un graphique depuis une feuille re-chargée depuis mon
> programme.
> (oui, j'ai laissé tomber MSChart : n'est-ce pas la recommandation a
> retenir du form ?)
>


Le seul impératif : je veux rester en VB car cela me parait le plus
proche des Office
(avec lesquels je vais souvent interagir -In et Out- et exporter vers
Excel....)
[et je déplore de devoir travailler en VB par ailleurs, car ce n'est pas
de l'objet !]

> Je la crée, j'y inscris mes nombres, et c'est parti : je précise que je


crée
> ex-nihilo,
> d'ailleurs je voudrais bien forcer Excel à ne m'ouvrir qu'une feuille de
> classeur
> (malgré le paramétrage utilisateur créant par défaut 3 feuilles par
> classeur) :
> est-il possible
>
> 1°/ d'abord, je peux bien créer une série, mais pour la


seconde.....nada !
> jXL.Range("B1:C" & nbLigs + 1).Select
> Set jXLCh = jXL.Charts.Add
> Range("D2:E12").Select <-------- refus


a
> ce niveau !
> jXLCh.Select ' Sheets("Graph1").Select
> ActiveChart.PlotArea.Select
>
> 2°/ je voudrais aussi controler le classeur Excel, c'est-à-dire :
> a) en cas d'errreur (surtout en mise au point), refermer ce


classeur
> b) empecher toute modif sous Excel, (désactiver la plupart des


menus),
> sauf...
> c) imprimer, et pointer-supprimer des points par clic-souris !
>
> Pouvez-vous me dire par quel bout prendre ce point.
> Je passe sur les erreurs récurrentes que je m'offre sur les objets d'
> Excel.....
>
> Merci de toute piste, référence que je n'aurais pas repérée...
> Ras le bol de chercher tout seul.
>
> @+
> Y

bonjour,
En premier lieux, devez-vous trvailler avec une technologie en
particulier?
Si non, avez-vous tester en utilisant le modèle com :


Là, je ne comprends pas le "modèle com " concretement !

Ceci afin de vous renvoyez sur mon poste du 11/10/2004 en réponse à la
question : EXCELL dans ACCESS de JCM.


Je controle les données du graphique directement
dans mon programme Basic (ce n'est pas un transfert ADO)
qui génère des traitements intermédiaires avant tracé !

1. Devez-vous ouvrir un fichier existant ou pouvez-vous le créer de
toute pièces.


Pour l'instant, je le crée ex-nihilo, mais effectivement on pourrait
prévoir d'utiliser un modèle de graphique, ce qui faciliterait
le paramétrage (car je vais avoir une douzaine de graphiques
analogues...)

2. N'utilisez pas ole automation, mais plutôt le modèle mis à
disposition (application....)


Si je comprends bien le "OLE Autom..",
/la terminologie M$ m'a toujours rebutée /
c'est la référence a la solution -c- qui est a éviter !?


Voila j'espere peut être un début de piste.

@+Quaz



Désolé, je crois que j'ai répondu comme un jésuite !
Par une/des question/s à une simple question...... ;-)
@+Y
Avatar
herve.levaillant
Il y a 2 liens très intéressants :
http://support.microsoft.com/?id!9151
http://support.microsoft.com/?id$7412

De plus, si vous souhaitez, j'ai un code (pour le bridge), mais cela ne vous
gênera pas...
Demandez le moi par mon adresse directement.

Bonne nuit à tous.

Hervé
Avatar
YannX
Bonjour Hervé,

Merci pour les liens, surtout le premier qui couvre presque l'ensemble du
pb.
on pense jamais assez a retrouver des choses dans M$.com

J'espère que le soleil va briller aussi chez toi
Y@+

"herve.levaillant" a écrit dans le message de
news:41a41a7e$0$3368$
Il y a 2 liens très intéressants :
http://support.microsoft.com/?id!9151
http://support.microsoft.com/?id$7412

De plus, si vous souhaitez, j'ai un code (pour le bridge), mais cela ne


vous
gênera pas...
Demandez le moi par mon adresse directement.

Bonne nuit à tous.

Hervé