Interdire l\'ouverture d\'un autre classeur, SI

Mi_

XLDnaute Occasionnel
Interdire l'ouverture d'un autre classeur, SI

Bonsoir le forum,

Je voudrais y offrir un accès exclusif au logiciel Excel à mes applications developpées sour Excel/VBA. C'est à dire ne pas pouvoir ouvrir une de mes applications si un classeur Excel quelconque est déjà ouvert, et ne pas pouvoir ouvrir un classeur quelconque si mon application est déjà ouverte.

Pour la première partie, j'ai trouvé:

Dim i As Integer
For i = 1 To Workbooks.Count
[ligne manquante car erreur lors du postage]
Next i
Exit Sub

RéfuserOuverture:
MsgBox prompt:='Fermer d'abord les classeurs Excel en cours' + Chr(13) + _
'd'utilisation, puis redémarrer l'application.', _
Buttons:=vbCritical, Title:='Attention'
ActiveWorkbook.Close savechanges:=False


Mais comment faire pour la deuxième partie ? Donc si j'ai une application Excel exclusive (avec 'toto' en Feuil1_A1), ne pas permettre l'ouverture manuelle d'un autre classeur Excel anonyme (qui n'a pas 'toto' en Feuil1_A1). Et, bien sûr, permettre l'ouverture d'un autre classeur certifié 'toto' en Feuil1_A1.

Merci pour toute idée,
Mi_


Je m'excuse mais je rencontre des erreurs pour poster, une ligne de mon code est manquante, mais la question y reste.

Message édité par: Mi_, à: 01/03/2006 20:49
 

Blunet

XLDnaute Occasionnel
Re:Interdire l'ouverture d'un autre classeur, SI

Salut Mi_,

Le classeur comporte deux modules. Le 1er fait le test d'un classeur ouvert et le second essaye de répondre à ta préoccupation.

J'ai supposé que ton Application est fait sur Excel ou à base d'Excel.

Ciao [file name=Classeurtest_20060302115828.zip size=13826]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeurtest_20060302115828.zip[/file]
 

Pièces jointes

  • Classeurtest_20060302115828.zip
    13.5 KB · Affichages: 111

Mi_

XLDnaute Occasionnel
Re:Interdire l'ouverture d'un autre classeur, SI

Bonjour Blunet, le forum,

J'ai regardé le deuxième module. Donc ton code vérifie toutes les 5 secondes s'il y a un autre classeur ouvert, et pan il le ferme.

Je pense que je vais me débrouiller pour lui ordonner de vérifier si l'autre classeur contient 'toto' en Feuil1_A1. Sinon ... pan !

Et une question: est-ce que cela serait possible de capter l'évènement 'Ouverture d'un autre classeur' (ou quelque chose comme ça) pour ne plus devoir utiliser le Timer ? Donc lancer la vérification uniquement si un autre classeur est ouvert pendant l'utilisation de mon application (qui est bien Excel) ?

En tout cas merci beaucoup, j'ai déjà trouvé mon bonheur
Mi_
 

Blunet

XLDnaute Occasionnel
Re:Interdire l'ouverture d'un autre classeur, SI

Salut Mi_ ,
J'étais pas sur place et même encore ... J'ai pas donc pu te répondre.
Je ne connais pas autre façon de capter l'ouverture d'un classeur sans vérifier s'il y'en a un ouvert !
Ceci suppose maîtriser l'état de windows à tout moment. De toute les façon si je trouve alors je te tiens au courant.

Ciao
 

Discussions similaires

Statistiques des forums

Discussions
312 328
Messages
2 087 316
Membres
103 515
dernier inscrit
Cherbil12345