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

Fermeture des fichier

19 réponses
Avatar
IMER09
Bonjour a tous

Je voudrai a l'ouverture d'un fichier A
fermer tout les fichiers ouvert (si il y en a) tout en laissant le fichier A
ouvert.
De meme je voudrai empecher l'ouverture d'un autre fichier tant que le
fichier A est ouvert est ce possible?

Rémi

9 réponses

1 2
Avatar
IMER09
J'ai trouvé ce qu'il me fallait :
Dans la procedure evenement: Private Sub Workbook_WindowDeactivate(ByVal Wn
As Window)
j'appelle ta procedure de fermeture des fichiers, et le fichier que
l'utilisateur veut ouvrir au dessus ce referme aussitot, j'y ai glissé un
petit message explicatif au passage,
j'ai l'impression que j'obtiend le resultat escompté
Dit moi ce que tu en pense si ce n' est pas abuser

Rémi

"michdenis" a écrit dans le message de news:

Le module de classe si tu l'intègre à ton fichier permet
de fermer le fichier si un usager tente de l'ouvrir... pour
ce faire, tu dois renseigner dans la procédure du module
de classe le nom du fichier dont tu veux empêcher de
s'ouvrir !





Avatar
michdenis
A ) dans le module standard du fichier que j'ai publié, on devrait lire...
Observe la déclaration de la variable dans le haut du classeur

Public Appt As New MonApp

Sub Instantier_Le_Module_Classe()
Set Appt.AppExcel = Application
End Sub

B ) Dans le module de classe, dans la procédure, tu dois renseigner
le nom du fichier que tu ne veux pas ouvrir ....

C ) Il y a une bonne différence entre les 2 approches.
1 ) Ta procédure est déclenchée seulement si le classeur qui est désactivé
est celui dans laquelle tu as mis ta procédure.
Suppose par exemple, que tu as 2 classeurs d'ouverts, que se passe-t-il
si tu tentes d'ouvrir le classeur que tu ne veux pas voir s'ouvrir lorsque
c'est l'autre classeur qui est le classeur actif.... ta procédure ne sera pas
appelée et le classeur restera ouvert.
2) la procédure que je te propose s'exécute à chaque fois que tu ouvres un
classeur, peu importe le classeur actif (évidement le classeur contenant
le module de classe doit être ouvert). Le choix de l'événement est plus
approprié et fais mouche à tout coup.
Avatar
michdenis
au besoin, tu as le classeur corrigé : http://cjoint.com/?lrcYTdyFoZ



"IMER09" a écrit dans le message de groupe de
discussion :
J'ai trouvé ce qu'il me fallait :
Dans la procedure evenement: Private Sub Workbook_WindowDeactivate(ByVal Wn
As Window)
j'appelle ta procedure de fermeture des fichiers, et le fichier que
l'utilisateur veut ouvrir au dessus ce referme aussitot, j'y ai glissé un
petit message explicatif au passage,
j'ai l'impression que j'obtiend le resultat escompté
Dit moi ce que tu en pense si ce n' est pas abuser

Rémi

"michdenis" a écrit dans le message de news:

Le module de classe si tu l'intègre à ton fichier permet
de fermer le fichier si un usager tente de l'ouvrir... pour
ce faire, tu dois renseigner dans la procédure du module
de classe le nom du fichier dont tu veux empêcher de
s'ouvrir !





Avatar
LE TROLL
Bonjour,

Moi non plus je n'y connais rien à Excel, enfin, juste le minimum comme
tableur.
Je programme tout le temps en VB6 et désormais je suis bien avancé en vbNet,
alors quand la question correspond à de la programmation je connais
généralement et je réponds, mais quand elle concerne les feuilles, je ne
connais pas, car je n'ai jamais appris les mots-clefs spécifiques à ces
dernières, et puis je n'aime pas trop, c'est lourd, lent, peu pratique pour
réellement programmer, donc sans souplesse...

Il y a souvent des quiproquos avec le mot "fichier", parfois certains
parlent du logiciel Excel, d'autres parlent de différentes applications
Excel, d'autres de feuilles Excel, d'autres encore de vrais fichiers texte
par exemple, ou binaire.
En plus, normalement toutes ces questions "code" devraient aller dans le
forum VB (qui traite vb4, 5, 6 et A), or les gens les posent ici...

Je t'ai répondu car en l'absence de précision, tu évoquais des fichiers,
ce qui correspond à une gestion de fichiers par le code, mai a priori ce
n'était pas ça, désolé :o)

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"IMER09" a écrit dans le message de
news:
Merci LE TROLL
Est ce que je peu mettre le code x dans ThisWorkbook
Je suis un peu perdu je ne suis pas un crac en excel je suis plutot un
bidouilleur ou plutot un copieur/colleur de code

Pour ce qui est du code y je n'est pas de procedure qui ouvre d'autre
fichier
je voudrai simplement empecher l'utilisateur d'ouvrir un autre fichier
excel si le fichier A est ouvert

Merci


"LE TROLL" <le a écrit dans le message de news:

Bonsoir

sub x()
dim Aouvert as boolean
Reset ' ferme tout
openA...
Aouvert=true
...
close A
Aouvert = false
end sub

......

sub y()
if Aouvert then exit sub ' tant que A open = rejet autre ouvertures
open file B, C...
end sub


Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"IMER09" a écrit dans le message de
news:%
Bonjour a tous

Je voudrai a l'ouverture d'un fichier A
fermer tout les fichiers ouvert (si il y en a) tout en laissant le
fichier A ouvert.
De meme je voudrai empecher l'ouverture d'un autre fichier tant que le
fichier A est ouvert est ce possible?

Rémi










Avatar
IMER09
Non non tu n'as pas a etre desolé, Comme je l'ai dit plus bas, c'est
tellement agreable pour un utilisateur comme moi d'ouvrir son PC et de
s'apercevoir que quelqu'un a pris le temps de repondre
Malgres tout ca fait plaisir

Rémi

"LE TROLL" <le a écrit dans le message de news:

Bonjour,

Moi non plus je n'y connais rien à Excel, enfin, juste le minimum comme
tableur.
Je programme tout le temps en VB6 et désormais je suis bien avancé en
vbNet, alors quand la question correspond à de la programmation je connais
généralement et je réponds, mais quand elle concerne les feuilles, je ne
connais pas, car je n'ai jamais appris les mots-clefs spécifiques à ces
dernières, et puis je n'aime pas trop, c'est lourd, lent, peu pratique
pour réellement programmer, donc sans souplesse...

Il y a souvent des quiproquos avec le mot "fichier", parfois certains
parlent du logiciel Excel, d'autres parlent de différentes applications
Excel, d'autres de feuilles Excel, d'autres encore de vrais fichiers texte
par exemple, ou binaire.
En plus, normalement toutes ces questions "code" devraient aller dans le
forum VB (qui traite vb4, 5, 6 et A), or les gens les posent ici...

Je t'ai répondu car en l'absence de précision, tu évoquais des
fichiers, ce qui correspond à une gestion de fichiers par le code, mai a
priori ce n'était pas ça, désolé :o)

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"IMER09" a écrit dans le message de
news:
Merci LE TROLL
Est ce que je peu mettre le code x dans ThisWorkbook
Je suis un peu perdu je ne suis pas un crac en excel je suis plutot un
bidouilleur ou plutot un copieur/colleur de code

Pour ce qui est du code y je n'est pas de procedure qui ouvre d'autre
fichier
je voudrai simplement empecher l'utilisateur d'ouvrir un autre fichier
excel si le fichier A est ouvert

Merci


"LE TROLL" <le a écrit dans le message de news:

Bonsoir

sub x()
dim Aouvert as boolean
Reset ' ferme tout
openA...
Aouvert=true
...
close A
Aouvert = false
end sub

......

sub y()
if Aouvert then exit sub ' tant que A open = rejet autre ouvertures
open file B, C...
end sub


Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"IMER09" a écrit dans le message de
news:%
Bonjour a tous

Je voudrai a l'ouverture d'un fichier A
fermer tout les fichiers ouvert (si il y en a) tout en laissant le
fichier A ouvert.
De meme je voudrai empecher l'ouverture d'un autre fichier tant que le
fichier A est ouvert est ce possible?

Rémi













Avatar
IMER09
Apres un petite pose pour me reposer les yeux

A) OK
B) Si je veux que ce soit tout les fichiers excel autre que mon fichier
excel A
C) A partir du moment ou je ferme tout les fichiers excel a l'ouverture du
fichier excel A, comment puis je avoir 2 fichiers excel ouvert en meme temps
Est ce que je me trompe?

Rémi

"michdenis" a écrit dans le message de news:

A ) dans le module standard du fichier que j'ai publié, on devrait lire...
Observe la déclaration de la variable dans le haut du classeur

Public Appt As New MonApp

Sub Instantier_Le_Module_Classe()
Set Appt.AppExcel = Application
End Sub

B ) Dans le module de classe, dans la procédure, tu dois renseigner
le nom du fichier que tu ne veux pas ouvrir ....

C ) Il y a une bonne différence entre les 2 approches.
1 ) Ta procédure est déclenchée seulement si le classeur qui est
désactivé
est celui dans laquelle tu as mis ta procédure.
Suppose par exemple, que tu as 2 classeurs d'ouverts, que se
passe-t-il
si tu tentes d'ouvrir le classeur que tu ne veux pas voir
s'ouvrir lorsque
c'est l'autre classeur qui est le classeur actif.... ta
procédure ne sera pas
appelée et le classeur restera ouvert.
2) la procédure que je te propose s'exécute à chaque fois que tu ouvres
un
classeur, peu importe le classeur actif (évidement le classeur
contenant
le module de classe doit être ouvert). Le choix de l'événement est
plus
approprié et fais mouche à tout coup.








Avatar
IMER09
La, j'ai un peu de mal a voir le rapport, est ce que ca me concerne?

Rémi

"michdenis" a écrit dans le message de news:
Ok3k%
au besoin, tu as le classeur corrigé : http://cjoint.com/?lrcYTdyFoZ



"IMER09" a écrit dans le message de
groupe de
discussion :
J'ai trouvé ce qu'il me fallait :
Dans la procedure evenement: Private Sub Workbook_WindowDeactivate(ByVal
Wn
As Window)
j'appelle ta procedure de fermeture des fichiers, et le fichier que
l'utilisateur veut ouvrir au dessus ce referme aussitot, j'y ai glissé un
petit message explicatif au passage,
j'ai l'impression que j'obtiend le resultat escompté
Dit moi ce que tu en pense si ce n' est pas abuser

Rémi

"michdenis" a écrit dans le message de news:

Le module de classe si tu l'intègre à ton fichier permet
de fermer le fichier si un usager tente de l'ouvrir... pour
ce faire, tu dois renseigner dans la procédure du module
de classe le nom du fichier dont tu veux empêcher de
s'ouvrir !








Avatar
michdenis
| Si je veux que ce soit tout les fichiers excel autre que mon fichier
**** Tu modifies la procédure du module de classe comme suit :
'------------------------
Private Sub AppExcel_WorkbookOpen(ByVal Wb As Workbook)
Wb.Close False
End Sub
'------------------------

Je t'ai expliqué la différence entre les 2 approches. Maintenant c'est à
toi de choisir celle qui te convient. Moi, je n'ai rien à vendre.
Avatar
IMER09
Ok merci
Rémi

"michdenis" a écrit dans le message de news:


| Si je veux que ce soit tout les fichiers excel autre que mon fichier
**** Tu modifies la procédure du module de classe comme suit :
'------------------------
Private Sub AppExcel_WorkbookOpen(ByVal Wb As Workbook)
Wb.Close False
End Sub
'------------------------

Je t'ai expliqué la différence entre les 2 approches. Maintenant c'est à
toi de choisir celle qui te convient. Moi, je n'ai rien à vendre.





1 2