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?
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
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
"IMER09" <nospam-sarl-du-calvaire@wanadoo.fr> a écrit dans le message de
news:%23jaVSZuZKHA.3520@TK2MSFTNGP02.phx.gbl...
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?
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
michdenis
Bonjour,
Pour faire ce que tu demandes, tu dois utiliser un "module de classe"
Dans la fenêtre de l'éditeur de code, insère un module de classe tu baptises ce module de classe (propriété Name) : MonApp Dans ce module, tu ajoutes le code suivant :
Tu remplaces : "NomDuFichierD" par le nom dudit fichier
'------------------------------------- Public WithEvents AppExcel As Application '--------------------------- Private Sub AppExcel_WorkbookOpen(ByVal Wb As Workbook) If Ucase(Wb.Name) = Ucase("NomDuFichierD") Then Wb.Close False End If End Sub '---------------------------
Dans un module Standard -> tu en ajoutes un si tu n'en as pas déjà un tu inscris le code suivant : '--------------------------- Sub Instantier_Le_Module_Classe() Dim Appt As New MonApp Set Appt.AppExcel = Application End Sub '---------------------------
Et dans le ThisWorkbook de ton classeur, le code suivant : '--------------------------------- Private Sub Workbook_Open()
Dim Wk As Workbook For Each Wk In ThisWorkbook If Wk <> ThisWorkbook.Name Then Wk.Close False End If Next Instantier_Le_Module_Classe
End Sub '---------------------------------
"IMER09" a écrit dans le message de groupe de discussion : # 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
Bonjour,
Pour faire ce que tu demandes, tu dois utiliser un "module de classe"
Dans la fenêtre de l'éditeur de code, insère un module de classe
tu baptises ce module de classe (propriété Name) : MonApp
Dans ce module, tu ajoutes le code suivant :
Tu remplaces : "NomDuFichierD" par le nom dudit fichier
'-------------------------------------
Public WithEvents AppExcel As Application
'---------------------------
Private Sub AppExcel_WorkbookOpen(ByVal Wb As Workbook)
If Ucase(Wb.Name) = Ucase("NomDuFichierD") Then
Wb.Close False
End If
End Sub
'---------------------------
Dans un module Standard -> tu en ajoutes un si tu n'en as pas déjà un
tu inscris le code suivant :
'---------------------------
Sub Instantier_Le_Module_Classe()
Dim Appt As New MonApp
Set Appt.AppExcel = Application
End Sub
'---------------------------
Et dans le ThisWorkbook de ton classeur, le code suivant :
'---------------------------------
Private Sub Workbook_Open()
Dim Wk As Workbook
For Each Wk In ThisWorkbook
If Wk <> ThisWorkbook.Name Then
Wk.Close False
End If
Next
Instantier_Le_Module_Classe
End Sub
'---------------------------------
"IMER09" <nospam-sarl-du-calvaire@wanadoo.fr> a écrit dans le message de groupe de
discussion : #jaVSZuZKHA.3520@TK2MSFTNGP02.phx.gbl...
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?
Pour faire ce que tu demandes, tu dois utiliser un "module de classe"
Dans la fenêtre de l'éditeur de code, insère un module de classe tu baptises ce module de classe (propriété Name) : MonApp Dans ce module, tu ajoutes le code suivant :
Tu remplaces : "NomDuFichierD" par le nom dudit fichier
'------------------------------------- Public WithEvents AppExcel As Application '--------------------------- Private Sub AppExcel_WorkbookOpen(ByVal Wb As Workbook) If Ucase(Wb.Name) = Ucase("NomDuFichierD") Then Wb.Close False End If End Sub '---------------------------
Dans un module Standard -> tu en ajoutes un si tu n'en as pas déjà un tu inscris le code suivant : '--------------------------- Sub Instantier_Le_Module_Classe() Dim Appt As New MonApp Set Appt.AppExcel = Application End Sub '---------------------------
Et dans le ThisWorkbook de ton classeur, le code suivant : '--------------------------------- Private Sub Workbook_Open()
Dim Wk As Workbook For Each Wk In ThisWorkbook If Wk <> ThisWorkbook.Name Then Wk.Close False End If Next Instantier_Le_Module_Classe
End Sub '---------------------------------
"IMER09" a écrit dans le message de groupe de discussion : # 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
michdenis
La section pour fermer tous tes classeurs devraient être dans une procédure à part que tu pourrais appeler au besoin.
La section pour fermer tous tes classeurs devraient être
dans une procédure à part que tu pourrais appeler au besoin.
La section pour fermer tous tes classeurs devraient être dans une procédure à part que tu pourrais appeler au besoin.
IMER09
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
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
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 troll@enfer.fr> a écrit dans le message de news:
uJTjzcvZKHA.5976@TK2MSFTNGP05.phx.gbl...
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
"IMER09" <nospam-sarl-du-calvaire@wanadoo.fr> a écrit dans le message de
news:%23jaVSZuZKHA.3520@TK2MSFTNGP02.phx.gbl...
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?
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
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
IMER09
Merci michdenis
J' ai essaye d' utiliser ce que tu m'a posté mais je bog "Propriete ou methode non gerée par cette objet" "For Each Wk In ThisWorkbook" en jaune J'ai du mal a decripter le code que tu m'as fourni, je n'ai jamais utilisé un module de classe (c'est la premiere fois) c'est quoi la diff avec un module Standart Public WithEvents AppExcel As Application Private Sub AppExcel_WorkbookOpen(ByVal Wb As Workbook) .......... End Sub Je met tout ca dans module de classe MonApp !
Pour le module standart j' en ai deja 1 avec une fonction est ce genant?
Desolé pour l'incompetence Merci
"michdenis" a écrit dans le message de news:
Bonjour,
Pour faire ce que tu demandes, tu dois utiliser un "module de classe"
Dans la fenêtre de l'éditeur de code, insère un module de classe tu baptises ce module de classe (propriété Name) : MonApp Dans ce module, tu ajoutes le code suivant :
Tu remplaces : "NomDuFichierD" par le nom dudit fichier
'------------------------------------- Public WithEvents AppExcel As Application '--------------------------- Private Sub AppExcel_WorkbookOpen(ByVal Wb As Workbook) If Ucase(Wb.Name) = Ucase("NomDuFichierD") Then Wb.Close False End If End Sub '---------------------------
Dans un module Standard -> tu en ajoutes un si tu n'en as pas déjà un tu inscris le code suivant : '--------------------------- Sub Instantier_Le_Module_Classe() Dim Appt As New MonApp Set Appt.AppExcel = Application End Sub '---------------------------
Et dans le ThisWorkbook de ton classeur, le code suivant : '--------------------------------- Private Sub Workbook_Open()
Dim Wk As Workbook For Each Wk In ThisWorkbook If Wk <> ThisWorkbook.Name Then Wk.Close False End If Next Instantier_Le_Module_Classe
End Sub '---------------------------------
"IMER09" a écrit dans le message de groupe de discussion : # 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
Merci michdenis
J' ai essaye d' utiliser ce que tu m'a posté mais je bog "Propriete ou
methode non gerée par cette objet"
"For Each Wk In ThisWorkbook" en jaune
J'ai du mal a decripter le code que tu m'as fourni, je n'ai jamais utilisé
un module de classe (c'est la premiere fois)
c'est quoi la diff avec un module Standart
Public WithEvents AppExcel As Application
Private Sub AppExcel_WorkbookOpen(ByVal Wb As Workbook)
..........
End Sub
Je met tout ca dans module de classe MonApp !
Pour le module standart j' en ai deja 1 avec une fonction est ce genant?
Desolé pour l'incompetence
Merci
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
OrL3cpvZKHA.5620@TK2MSFTNGP06.phx.gbl...
Bonjour,
Pour faire ce que tu demandes, tu dois utiliser un "module de classe"
Dans la fenêtre de l'éditeur de code, insère un module de classe
tu baptises ce module de classe (propriété Name) : MonApp
Dans ce module, tu ajoutes le code suivant :
Tu remplaces : "NomDuFichierD" par le nom dudit fichier
'-------------------------------------
Public WithEvents AppExcel As Application
'---------------------------
Private Sub AppExcel_WorkbookOpen(ByVal Wb As Workbook)
If Ucase(Wb.Name) = Ucase("NomDuFichierD") Then
Wb.Close False
End If
End Sub
'---------------------------
Dans un module Standard -> tu en ajoutes un si tu n'en as pas déjà un
tu inscris le code suivant :
'---------------------------
Sub Instantier_Le_Module_Classe()
Dim Appt As New MonApp
Set Appt.AppExcel = Application
End Sub
'---------------------------
Et dans le ThisWorkbook de ton classeur, le code suivant :
'---------------------------------
Private Sub Workbook_Open()
Dim Wk As Workbook
For Each Wk In ThisWorkbook
If Wk <> ThisWorkbook.Name Then
Wk.Close False
End If
Next
Instantier_Le_Module_Classe
End Sub
'---------------------------------
"IMER09" <nospam-sarl-du-calvaire@wanadoo.fr> a écrit dans le message de
groupe de
discussion : #jaVSZuZKHA.3520@TK2MSFTNGP02.phx.gbl...
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?
J' ai essaye d' utiliser ce que tu m'a posté mais je bog "Propriete ou methode non gerée par cette objet" "For Each Wk In ThisWorkbook" en jaune J'ai du mal a decripter le code que tu m'as fourni, je n'ai jamais utilisé un module de classe (c'est la premiere fois) c'est quoi la diff avec un module Standart Public WithEvents AppExcel As Application Private Sub AppExcel_WorkbookOpen(ByVal Wb As Workbook) .......... End Sub Je met tout ca dans module de classe MonApp !
Pour le module standart j' en ai deja 1 avec une fonction est ce genant?
Desolé pour l'incompetence Merci
"michdenis" a écrit dans le message de news:
Bonjour,
Pour faire ce que tu demandes, tu dois utiliser un "module de classe"
Dans la fenêtre de l'éditeur de code, insère un module de classe tu baptises ce module de classe (propriété Name) : MonApp Dans ce module, tu ajoutes le code suivant :
Tu remplaces : "NomDuFichierD" par le nom dudit fichier
'------------------------------------- Public WithEvents AppExcel As Application '--------------------------- Private Sub AppExcel_WorkbookOpen(ByVal Wb As Workbook) If Ucase(Wb.Name) = Ucase("NomDuFichierD") Then Wb.Close False End If End Sub '---------------------------
Dans un module Standard -> tu en ajoutes un si tu n'en as pas déjà un tu inscris le code suivant : '--------------------------- Sub Instantier_Le_Module_Classe() Dim Appt As New MonApp Set Appt.AppExcel = Application End Sub '---------------------------
Et dans le ThisWorkbook de ton classeur, le code suivant : '--------------------------------- Private Sub Workbook_Open()
Dim Wk As Workbook For Each Wk In ThisWorkbook If Wk <> ThisWorkbook.Name Then Wk.Close False End If Next Instantier_Le_Module_Classe
End Sub '---------------------------------
"IMER09" a écrit dans le message de groupe de discussion : # 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
michdenis
Voir fichier exemple :
http://cjoint.com/?lqxkmJ7ATy
| For Each Wk In ThisWorkbook
Cette ligne aurait dû être : For each Wk in Application.Workbooks
Désolé !
Voir fichier exemple :
http://cjoint.com/?lqxkmJ7ATy
| For Each Wk In ThisWorkbook
Cette ligne aurait dû être :
For each Wk in Application.Workbooks
Cette ligne aurait dû être : For each Wk in Application.Workbooks
Désolé !
IMER09
Merci michdenis Ton "Désolé" me géne, mais c' est quand meme vachement agreable d'avoir a sa disposition des gens super competant et en plus courtois
J'ai COLLER la macro de ton bouton dans Thisworbook et les fichiers se ferment, c'est nikel et bien expliqué, Et comme tu me la proposé plus haut j'appelle cette meme procedure, que j'ai en plus dans un module, pour verifier regulierement que seul le fichier A est ouvert
Merci encore
Rémi
"michdenis" a écrit dans le message de news: e%
Voir fichier exemple :
http://cjoint.com/?lqxkmJ7ATy
| For Each Wk In ThisWorkbook
Cette ligne aurait dû être : For each Wk in Application.Workbooks
Désolé !
Merci michdenis
Ton "Désolé" me géne, mais c' est quand meme vachement agreable d'avoir a sa
disposition des gens super competant et en plus courtois
J'ai COLLER la macro de ton bouton dans Thisworbook et les fichiers se
ferment, c'est nikel et bien expliqué,
Et comme tu me la proposé plus haut j'appelle cette meme procedure, que j'ai
en plus dans un module, pour verifier regulierement que seul le fichier A
est ouvert
Merci encore
Rémi
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
e%23hGRnwZKHA.4668@TK2MSFTNGP06.phx.gbl...
Voir fichier exemple :
http://cjoint.com/?lqxkmJ7ATy
| For Each Wk In ThisWorkbook
Cette ligne aurait dû être :
For each Wk in Application.Workbooks
Merci michdenis Ton "Désolé" me géne, mais c' est quand meme vachement agreable d'avoir a sa disposition des gens super competant et en plus courtois
J'ai COLLER la macro de ton bouton dans Thisworbook et les fichiers se ferment, c'est nikel et bien expliqué, Et comme tu me la proposé plus haut j'appelle cette meme procedure, que j'ai en plus dans un module, pour verifier regulierement que seul le fichier A est ouvert
Merci encore
Rémi
"michdenis" a écrit dans le message de news: e%
Voir fichier exemple :
http://cjoint.com/?lqxkmJ7ATy
| For Each Wk In ThisWorkbook
Cette ligne aurait dû être : For each Wk in Application.Workbooks
Désolé !
michdenis
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 !
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 !
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 !