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

Documentation Excel / VBA / VBS

15 réponses
Avatar
jo-dou
Bonjour tt le monde,

Je d=E9couvre VBA et aujourd'hui VBS et n'ai pas de doc

J'ai r=E9cup=E9r=E9 sur ce forum le code suivant qui r=E9alise l'ouverture
de mon workbook et lance ma macro d'ouverture.
Le but =E9tant que les utilisateur n'acc=E8dent =E0 mon workbook que via
mes userform.

D=E9but de Script :

Const Wbk =3D "D:\bd Accueil\bd Accueil.xls"
Dim oXL, wBook
Set oXL =3D WScript.CreateObject("Excel.Application")
Set wBook =3D oXL.Workbooks.Open(Wbk)
oXL.Run "OpenForm"
On Error Resume Next
WScript.Quit
oXL.quit
Set oXL =3D Nothing

Fin de Script --------------

Ou puis-je trouver de la doc en ligne sur vba / vbs
En parfait autodidacte je n'apprend actuellement qu'=E0 force de
patience (ce qui n'est pas forc=E9ment la plus mauvaise m=E9thode) et
recherche sur ce forum (Un grand merci =E0 tous d'ailleurs) et donc
beaucoup de temps pour rechercher la bonne info.

Je ne souhaite pas charger ce forum avec des questions de base et bute
sur des pbs nuls comme par exemple :

Mon workbook =E9tant sur un serveur et accessible par tt le monde,
J'aimerai l'ouvrir via le script en lecture seule.

Merci d'avance pour les tuyaux.

Jo=EBl

10 réponses

1 2
Avatar
FdeCourt
Bonjour,

Un très bon moyen pour découvrir le VBA, c'est l'enregistreur de
macro (Outils > Macros > Nouvelle macro)
Ensuite, tu peux aller sur le site d'excelabo (www.excelabo.net) qui
regroupe énormément d'astuce, d'explication, de fichier d'exemple, et
des liens vers d'autre site de stars d'excel, qui d'ailleur poste aussi
ici ;)



Bonjour tt le monde,

Je découvre VBA et aujourd'hui VBS et n'ai pas de doc

J'ai récupéré sur ce forum le code suivant qui réalise l'ouvertu re
de mon workbook et lance ma macro d'ouverture.
Le but étant que les utilisateur n'accèdent à mon workbook que via
mes userform.

Début de Script :

Const Wbk = "D:bd Accueilbd Accueil.xls"
Dim oXL, wBook
Set oXL = WScript.CreateObject("Excel.Application")
Set wBook = oXL.Workbooks.Open(Wbk)
oXL.Run "OpenForm"
On Error Resume Next
WScript.Quit
oXL.quit
Set oXL = Nothing

Fin de Script --------------

Ou puis-je trouver de la doc en ligne sur vba / vbs
En parfait autodidacte je n'apprend actuellement qu'à force de
patience (ce qui n'est pas forcément la plus mauvaise méthode) et
recherche sur ce forum (Un grand merci à tous d'ailleurs) et donc
beaucoup de temps pour rechercher la bonne info.

Je ne souhaite pas charger ce forum avec des questions de base et bute
sur des pbs nuls comme par exemple :

Mon workbook étant sur un serveur et accessible par tt le monde,
J'aimerai l'ouvrir via le script en lecture seule.

Merci d'avance pour les tuyaux.

Joël


Avatar
Francois L
Bonjour tt le monde,

Je découvre VBA et aujourd'hui VBS et n'ai pas de doc
(...)

Ou puis-je trouver de la doc en ligne sur vba / vbs
En parfait autodidacte je n'apprend actuellement qu'à force de
patience (ce qui n'est pas forcément la plus mauvaise méthode) et
recherche sur ce forum (Un grand merci à tous d'ailleurs) et donc
beaucoup de temps pour rechercher la bonne info.


Bonjour,

Outre la réponse déjà apportée, et en se limitant à VBA :

- l'aide sur VBA d'Excel, incontournable et souvent bien faite

Chez Misange :
- http://www.excelabo.net/ (tout y compris les pages de liens)
- http://xlwiki.free.fr/wiki/wakka.php?wiki=PageAccueil

Chez Daniel:
- http://dj.joss.free.fr/index.htm

Chez Gaetan :
- http://www.xlerateur.com/
- http://www.polykromy.com/html/poly_main.html

Chez Laurent :
- http://xcell05.free.fr/

et tant d'autres...

--
François L

Avatar
MichDenis
C'est quoi ta question ?

Simplement d'obtenir des adresses internet où tu peux obtenir des tutoriats ?

Est-ce que tu es satisfait de ton script ?
Tout fonctionne bien ?
Avatar
jo-dou
Merci à tous pour vos infos précieuses

Concernant ta question Michdenis

Mon interrogation concernait surtout la doc en ligne mais effectivement
depuis j'ai découvert qqs petit pbs avec le script, excel reste actif
et bloque le classeur en lecture si la sortie ne s'effectue pas bien et
d'autre part je ne trouve pas comment l'ouvrir en lecture uniquement
lors de l'appel dans le script.

Si tu as une idée elle sera la bienvenue.

Joël
Avatar
MichDenis
Pour fermer le classeur ouvert par le scriipt et aussi
faire disparaître l'application Excel en mémoire vive,
tu ne dois pas avoir de commande qui effectue
ce travail dans ta macrol

Je ne sais pas en quoi c'est utile puisque
aucun usager ne peut y avoir accès.
tu n'as qu'à fermer ton classeur sans
l'enregistrer

'------------------------
Const Wbk = "D:bd Accueilbd Accueil.xls"
Dim oXL, wBook
Set oXL = WScript.CreateObject("Excel.Application")
Set wBook = oXL.Workbooks.Open(Wbk)
oXL.Run "OpenForm"
wBook.Close 0
oXL.quit
Set wBook = Nothing
Set oXL = Nothing
WScript.Quit
'------------------------





a écrit dans le message de news:

Merci à tous pour vos infos précieuses

Concernant ta question Michdenis

Mon interrogation concernait surtout la doc en ligne mais effectivement
depuis j'ai découvert qqs petit pbs avec le script, excel reste actif
et bloque le classeur en lecture si la sortie ne s'effectue pas bien et
d'autre part je ne trouve pas comment l'ouvrir en lecture uniquement
lors de l'appel dans le script.

Si tu as une idée elle sera la bienvenue.

Joël
Avatar
jo-dou
Merci Michdenis pour ta correction.

Voici ce que je ne réussi pas à faire :

- J'ai mon classeur sur le serveur .
- Je copie le script sur chaque poste utilisateur.

Par mes macros les utilisateurs ne sont effectivement qu'en
consultation sans jamais avoir accés aux données du classeur

Par contre le premier qui lance le script ouvre le classeur en MAJ
empêchant par la même l'ouverture du classeur pour une mise à jour
des données par la personne responsable.

C'est pour cela que je voulais ouvrir le classeur en read only par le
script sans qu'un lock soit posé sur le classeur

Mais cela n'est peut être pas possible

joel
Avatar
MichDenis
Essaie ceci :


Const Wbk = "D:bd Accueilbd Accueil.xls"
Dim oXL, wBook
Set oXL = WScript.CreateObject("Excel.Application")
Set wBook = oXL.Workbooks.Open(Wbk,,1)
oXL.Run "OpenForm"
wBook.Close 0
oXL.quit
Set wBook = Nothing
Set oXL = Nothing
WScript.Quit





a écrit dans le message de news:

Merci Michdenis pour ta correction.

Voici ce que je ne réussi pas à faire :

- J'ai mon classeur sur le serveur .
- Je copie le script sur chaque poste utilisateur.

Par mes macros les utilisateurs ne sont effectivement qu'en
consultation sans jamais avoir accés aux données du classeur

Par contre le premier qui lance le script ouvre le classeur en MAJ
empêchant par la même l'ouverture du classeur pour une mise à jour
des données par la personne responsable.

C'est pour cela que je voulais ouvrir le classeur en read only par le
script sans qu'un lock soit posé sur le classeur

Mais cela n'est peut être pas possible

joel
Avatar
jo-dou
MERCI grand chef

ça fonctionne

bonne soirée

Joël
Avatar
jo-dou
Encore moi !!!!!

Je viens de constater un pb.

Je lance mon script sur mon poste , pas de pb tout fonctionne très
bien. MAJ etc ....

Par contre si je veux ouvrir un autre classeur en même temps, il
n'apparait pas à l'écran. il me semble qu'il a été ouvert avec le
processus excel lancé par le script
Il faut que je lance un autre processus excel pour pouvoir ouvrir et
manipuler un classeur.

Je pensais copier excel.exe en excdb.exe par exemple et lancer
excdb.application comme appli dans mon script mais j'ai le message
"classe automation appellée "excdb.application" est introuvable"

Peut être as tu une autre solution ?
Avatar
MichDenis
Essaie ceci :

Const Wbk = "C:Classeur1.xls"
Dim oXL, wBook
Set oXL = WScript.CreateObject("Excel.Application")
oxl.IgnoreRemoteRequests = 1
Set wBook = oXL.Workbooks.Open(Wbk,,1)
oXL.Run "OpenForm"
wBook.Close 0
oxl.IgnoreRemoteRequests = 0
oXL.quit
Set wBook = Nothing
Set oXL = Nothing
WScript.Quit



a écrit dans le message de news:

Encore moi !!!!!

Je viens de constater un pb.

Je lance mon script sur mon poste , pas de pb tout fonctionne très
bien. MAJ etc ....

Par contre si je veux ouvrir un autre classeur en même temps, il
n'apparait pas à l'écran. il me semble qu'il a été ouvert avec le
processus excel lancé par le script
Il faut que je lance un autre processus excel pour pouvoir ouvrir et
manipuler un classeur.

Je pensais copier excel.exe en excdb.exe par exemple et lancer
excdb.application comme appli dans mon script mais j'ai le message
"classe automation appellée "excdb.application" est introuvable"

Peut être as tu une autre solution ?
1 2