OVH Cloud OVH Cloud

Ouverture d'un classeur sur plusieurs PC

3 réponses
Avatar
Benoit
Bonjour toutes et tous,

La macro suivante ouvre un classeur, ou que l'on soit sur le réseau sur le
PC que l'on utilise.

Dim objXL As New Excel.Application

With objXL
.Application.Visible = True
.Workbooks.Open ("//BATAX352/GMAO/Statut.xls" )
End With

Mon défi, ouvrir un fichier se trouvant sur 5 PC différents a partir d'un
seul PC.
Le fichier aura le même nom et sera en "Read Only" sur chaque PC.

Je vais essayer d'être un peu plus litterraire, moins technique.
Il existe UN fichier (le même) sur CINQ PC.
A l'ouverture, (Workbook.Open) ce fichier fait une mise a jour automatique
via le réseau.
Jusqu'à aujourd'hui chaqu'un doit démarrer manuellement le fichier.
Je souhaite pouvoir ouvrir le fichier sur tous les PC à distance afin
d'avoir une mise a jour dynamique sans l'intervention d'un tiers.


Une idée ? Merci !
Benoît Cornille,

3 réponses

Avatar
FxM
Bonsoir,

Mon défi,
Dommage, ce n'est pas le mien (ni probablement celui du forum).


A l'ouverture, (Workbook.Open) ce fichier fait une mise a jour
automatique via le réseau.

Jusqu'à aujourd'hui chacun doit démarrer manuellement le fichier.
Je souhaite pouvoir ouvrir le fichier sur tous les PC à distance afin
d'avoir une mise a jour dynamique sans l'intervention d'un tiers.


Une mise à jour auto... de quoi ?

* lui-même :
Le fichier se met à jour à l'ouverture donc il ne se met donc pas à jour
s'il reste fermé. -> Pourquoi forcer à le mettre à jour puisqu'il n'est
pas utilisé ?

* autre chose :
AMHA, il crains qu'il ne faille penser à changer de principe !

Si tu veux lancer (ou accéder) un fichier sur une machine distante, il
faut un minimum de droits. Avec ces droits, pourquoi ne pas copier un
fichier à jour en lieu et place d'un autre obsolète ?
Autre principe : accéder à des données à jour placées à un seul endroit
(ºse de données relationnelle)

@+
FxM







Bonjour toutes et tous,

La macro suivante ouvre un classeur, ou que l'on soit sur le réseau sur le
PC que l'on utilise.

Dim objXL As New Excel.Application

With objXL
..Application.Visible = True
..Workbooks.Open ("//BATAX352/GMAO/Statut.xls" )
End With

Mon défi, ouvrir un fichier se trouvant sur 5 PC différents a partir d'un
seul PC.
Le fichier aura le même nom et sera en "Read Only" sur chaque PC.

Je vais essayer d'être un peu plus litterraire, moins technique.
Il existe UN fichier (le même) sur CINQ PC.
A l'ouverture, (Workbook.Open) ce fichier fait une mise a jour automatique
via le réseau.
Jusqu'à aujourd'hui chaqu'un doit démarrer manuellement le fichier.
Je souhaite pouvoir ouvrir le fichier sur tous les PC à distance afin
d'avoir une mise a jour dynamique sans l'intervention d'un tiers.


Une idée ? Merci !
Benoît Cornille,



Avatar
Benoit
Bonsoir FxM,
Bien sur ce n'est pas ton défi ni celui du forum, mais ça peut aider
quelqu'un. Moi en premier looooooooool.

D'abord, merci de ton intérêt pour ce qui te semble "tordu". Ce qu'il est
d'ailleurs.

Bref, parlons "boulot"...

Le classeur offre aux interessés le statut d'équipements via une interface
visuelle bien maitrisée.

Mon "schmilblick" fonctionne nickel, mais a chaque changement de "statut"
(mise à jour), il faut téléphoner à chaque poste pour leur demander de fermer
et redémarrer Excel pour la mise a jour. (Vu que la macro est dans
WorkBook.Open, c'est logique.

Vu que "nous" somme présent 24h/24h, c'est lourd.
Bon, je "DOIS" via la macro, piloter les autres PC, soit en fermant et
redémarrant Excel, soit en activant la macro. Tous ceci a distance et
automatiquement. La macro fait le reste. Celle ci est parfaitement maîtrisé
et fonctionne à merveille.

Mais zut de zut, puis-je, via la macro, ouvrir/fermer excel sur un PC
distant ?
Puis-je à distance déclancher une macro ?

En fait c'est tout simple, mais je trouve rien.. Snifffffff..

Mercii


Bonsoir,

Mon défi,
Dommage, ce n'est pas le mien (ni probablement celui du forum).


A l'ouverture, (Workbook.Open) ce fichier fait une mise a jour
automatique via le réseau.

Jusqu'à aujourd'hui chacun doit démarrer manuellement le fichier.
Je souhaite pouvoir ouvrir le fichier sur tous les PC à distance afin
d'avoir une mise a jour dynamique sans l'intervention d'un tiers.


Une mise à jour auto... de quoi ?

* lui-même :
Le fichier se met à jour à l'ouverture donc il ne se met donc pas à jour
s'il reste fermé. -> Pourquoi forcer à le mettre à jour puisqu'il n'est
pas utilisé ?

* autre chose :
AMHA, il crains qu'il ne faille penser à changer de principe !

Si tu veux lancer (ou accéder) un fichier sur une machine distante, il
faut un minimum de droits. Avec ces droits, pourquoi ne pas copier un
fichier à jour en lieu et place d'un autre obsolète ?
Autre principe : accéder à des données à jour placées à un seul endroit
(ºse de données relationnelle)

@+
FxM







Bonjour toutes et tous,

La macro suivante ouvre un classeur, ou que l'on soit sur le réseau sur le
PC que l'on utilise.

Dim objXL As New Excel.Application

With objXL
..Application.Visible = True
..Workbooks.Open ("//BATAX352/GMAO/Statut.xls" )
End With

Mon défi, ouvrir un fichier se trouvant sur 5 PC différents a partir d'un
seul PC.
Le fichier aura le même nom et sera en "Read Only" sur chaque PC.

Je vais essayer d'être un peu plus litterraire, moins technique.
Il existe UN fichier (le même) sur CINQ PC.
A l'ouverture, (Workbook.Open) ce fichier fait une mise a jour automatique
via le réseau.
Jusqu'à aujourd'hui chaqu'un doit démarrer manuellement le fichier.
Je souhaite pouvoir ouvrir le fichier sur tous les PC à distance afin
d'avoir une mise a jour dynamique sans l'intervention d'un tiers.


Une idée ? Merci !
Benoît Cornille,






Avatar
FxM
Bonsoir Benoît,

L'accès distant à un PC est naturellement possible en direct
(administrateur / superviseur) que par le biais de programme tiers (VNC
and co par exemple).

Pour ce qui est de le faire en VBA, crois bien que si je disposais d'une
solution, je me garderais bien de la diffuser. C'est en effet un mode
hyper-pratique de prise de contrôle, diffusion de virus et autres bêtes
maléfiques en tous genres.

Si tu souhaites une MAJ auto sans action manuelle, il y a beaucoup de
méthode mais leur principe général est de tourner en local et non de
recevoir un ordre extérieur.

Par exemple :
- tu crées un répertoire uniquement destiné à être lu par tes 5 machines,
- tu mets ton fichier à jour normalement,
- au lieu d'appeler tes correspondants, tu crées 5 fichiers texte (vide
ou non peu importe) dans le répertoire. les fichiers sont nommés :
20060622_2107_a.txt pour la 1e machine, pour la MAJ du 22/6 à 21:07
20060622_2107_b.txt pour la 2e machine, pour la MAJ du 22/6 à 21:07
etc
- dans tes fichiers locaux, tu lances dans ton workbooks.open une macro
qui s'auto-appelle au rythme de une fois par (??) heures / minutes.
Cette macro ne lance pas la mise à jour mais va vérifier la présence
d'un fichier qui se termine par "_a.txt"
Si un fichier est présent et selon les contraintes de la mise à jour,
Excel peut directement lancer la macro de MAJ ou avertir l'utilisateur
qu'il doit faire (...) et ensuite MAJ.
A la fin de la MAJ, le bon fichier txt doit être détruit.

Avantages :
- tu peux suivre qui est mis à jour et qui ne l'est pas,

Inconvénient :
- un peu usine à gaz (j'admets),
- léger développement à faire et tester mais rien de bien lourd.

Si c'est un principe qui te va, je pourrais jeter un oeil plus en
profondeur ce week-end et te faire parvenir un fichier exemple.
Sous quelles versions travailles-tu (OS et Excel) ?

Pour l'instant, mon 1/2 neurone de blonde pas réveillée a besoin de
faire dodo :o)

@+
FxM


Bonsoir FxM,
Bien sur ce n'est pas ton défi ni celui du forum, mais ça peut aider
quelqu'un. Moi en premier looooooooool.

D'abord, merci de ton intérêt pour ce qui te semble "tordu". Ce qu'il est
d'ailleurs.

Bref, parlons "boulot"...

Le classeur offre aux interessés le statut d'équipements via une interface
visuelle bien maitrisée.

Mon "schmilblick" fonctionne nickel, mais a chaque changement de "statut"
(mise à jour), il faut téléphoner à chaque poste pour leur demander de fermer
et redémarrer Excel pour la mise a jour. (Vu que la macro est dans
WorkBook.Open, c'est logique.

Vu que "nous" somme présent 24h/24h, c'est lourd.
Bon, je "DOIS" via la macro, piloter les autres PC, soit en fermant et
redémarrant Excel, soit en activant la macro. Tous ceci a distance et
automatiquement. La macro fait le reste. Celle ci est parfaitement maîtrisé
et fonctionne à merveille.

Mais zut de zut, puis-je, via la macro, ouvrir/fermer excel sur un PC
distant ?
Puis-je à distance déclancher une macro ?

En fait c'est tout simple, mais je trouve rien.. Snifffffff..

Mercii


Bonsoir,

Mon défi,
Dommage, ce n'est pas le mien (ni probablement celui du forum).


A l'ouverture, (Workbook.Open) ce fichier fait une mise a jour
automatique via le réseau.

Jusqu'à aujourd'hui chacun doit démarrer manuellement le fichier.
Je souhaite pouvoir ouvrir le fichier sur tous les PC à distance afin
d'avoir une mise a jour dynamique sans l'intervention d'un tiers.


Une mise à jour auto... de quoi ?

* lui-même :
Le fichier se met à jour à l'ouverture donc il ne se met donc pas à jour
s'il reste fermé. -> Pourquoi forcer à le mettre à jour puisqu'il n'est
pas utilisé ?

* autre chose :
AMHA, il crains qu'il ne faille penser à changer de principe !

Si tu veux lancer (ou accéder) un fichier sur une machine distante, il
faut un minimum de droits. Avec ces droits, pourquoi ne pas copier un
fichier à jour en lieu et place d'un autre obsolète ?
Autre principe : accéder à des données à jour placées à un seul endroit
(ºse de données relationnelle)

@+
FxM







Bonjour toutes et tous,

La macro suivante ouvre un classeur, ou que l'on soit sur le réseau sur le
PC que l'on utilise.

Dim objXL As New Excel.Application

With objXL
..Application.Visible = True
..Workbooks.Open ("//BATAX352/GMAO/Statut.xls" )
End With

Mon défi, ouvrir un fichier se trouvant sur 5 PC différents a partir d'un
seul PC.
Le fichier aura le même nom et sera en "Read Only" sur chaque PC.

Je vais essayer d'être un peu plus litterraire, moins technique.
Il existe UN fichier (le même) sur CINQ PC.
A l'ouverture, (Workbook.Open) ce fichier fait une mise a jour automatique
via le réseau.
Jusqu'à aujourd'hui chaqu'un doit démarrer manuellement le fichier.
Je souhaite pouvoir ouvrir le fichier sur tous les PC à distance afin
d'avoir une mise a jour dynamique sans l'intervention d'un tiers.


Une idée ? Merci !
Benoît Cornille,