Vérouiller une feuille Excel dans une instance

Résolu
Signaler
Messages postés
29
Date d'inscription
mercredi 24 août 2005
Statut
Membre
Dernière intervention
20 septembre 2006
-
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
-
Bonjour à tous. J'ai fait un fichier-programme .xls avec pas mal de macro. C'est une mini-application que l'on fournis à nos client. Le truc, c'est que normalenemt, les clients ne devrais pas toucher au Pc lors de l'excécution des dites macro. Seulement ils utilisent le pc en même temps...( embrouillage de Excel ). Pire ils ouvrent aussi d'autre fichiers Excel qui souvre dans la même instance que le fichier de macro. Si bien que quand il travaille sur d'autre fichier, cela met les macro du premier fichier en stand by. Je voudrais demander si il existe une commande à inssérer dans la macro qui permette de vérouillé le fichier de macro dans une seule instance, de sorte que si ils ouvrent un autre fichier xls , il s'ouvrira autre instance Excel. Si vous voyez ce que je veux dire ^^. Thx 4 all

15 réponses

Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
1
Je n'ais pas la réponce à ta question. Par contre j'ai peut être un autre principe de fonctionement :
Lorsque ta macro tourne il faut donc que l'utilisateur ne fasse rien (rien de rien)???
Si oui tu peut peut être faire :
   A l'ouverture de ton fichier tu sauvgarde dans une variable le nom du fichier (idem si il est sauvgarder sous un autre nom)
   Tu crée un boolean Verou (varible global)
   Au lansement de ton code tu passe la verou à vrais
   Lors de la désactivation de ton workbook (Private Sub Workbook_Deactivate()) tu test le verou
   Si ton verou est à vrais alors tu affiche un message (contenu dans un form si non un msgbox stop ton exection) et tu ré-active ton fichier :Application.Workbooks(ChaineNomFichier).Activate
   A la fin de ton execution tu re-passe le verou à faux

De ce fais logiquement ton utilisateur ne poura pas sortir de ton fichier donc il ne peut pas en ourir un autre.

Ce soir dans "triste monde tragique" :

Des vers qui mangent les programmeurs !
Des virus sorte des ordinateur et attaque des gents !
Messages postés
29
Date d'inscription
mercredi 24 août 2005
Statut
Membre
Dernière intervention
20 septembre 2006

Bon voila le code à inssérer pour garder un fichier excel actif si l'on lance un autre fichier excel.

Private Sub workbook_Deactivate()


  Application.Workbooks("nom du fichier.xls").Activate


End Sub

Si les nom de fichier vienne à changer, comme le disait polack, recupéré le nom par une commande et mettre le dit nom dans une variable qui remplacera le "nom du fichier.xls"
Messages postés
29
Date d'inscription
mercredi 24 août 2005
Statut
Membre
Dernière intervention
20 septembre 2006

Je comrpend ce que tu veux dire, c'est interessant. ( Pour le mieu il faudrais que l'on ne touche pas au pc, mais ce n'est pas le cas ) Dans ta proposition, le fichier excel serais toujours au premier plan, ce qui les empecherais de faire autre chose sur le pc. Le truc le plus embetant c'est qui veullent absolument travaillé sur d'autre fichier Excel en même temps, donc je ne peux pas retenir ta proposition ( je la retiens pour d'autre appli ke j'ai  ^^ ). Il faudrais vérouillé ma feuille dans un seul programme Excel. De sorte que si ils ouvrent un autre fichier XY, sa leur ouvre un autre programe Excel. On peux facilement le faire à la main, je vous l'accorde, mais le client est borné....
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
1
Un client qui n'est pas borné???????? Moi j'ai jamais vue?????????????
Bon bà désol mais je n'ais pas ta réponce.
A+ et bon courage.

------------------------------------------------------------------------------
Ce soir dans "triste monde tragique" :

Des vers qui mangent les programmeurs !
Des virus sorte des ordinateurs et attaque des gents !
------------------------------------------------------------------------------
Messages postés
29
Date d'inscription
mercredi 24 août 2005
Statut
Membre
Dernière intervention
20 septembre 2006

Merci quand mm de ta contribution, je vais integré sa pour que sa sauvegarde automatiquement quand il change de fenetre, comme sa il n'y aura pas de perte de donnée ( en fait on reçoit des donnée en continue depuis une calibreuse )
Bah, y a des client plus compréhenssif que d'autre
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
1
Oui mais il reste toujours borné sur un point ou un autre (+ ou - c'est vrais).
Mais tu dévelope pour une industre??? Sous Excel??? C'a serais pas plus partique en VB avec une base de donnée (en MySQL par exemple) en plus cas permetrais de recup les donnée atelier dans les bureaux, et là plus de probème d'instance.

------------------------------------------------------------------------------
Ce soir dans "triste monde tragique" :

Des vers qui mangent les programmeurs !
Des virus sorte des ordinateurs et attaque des gents !
------------------------------------------------------------------------------
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
1
En plus il me semble que Ms à sortie une version light de leur compilo VB qui est gratuite. Où est le problème? Client borné

------------------------------------------------------------------------------
Ce soir dans "triste monde tragique" :

Des vers qui mangent les programmeurs !
Des virus sorte des ordinateurs et attaque des gents !
------------------------------------------------------------------------------
Messages postés
29
Date d'inscription
mercredi 24 août 2005
Statut
Membre
Dernière intervention
20 septembre 2006

oue en industrie, mais c un ptiprogg  je ne suis ke en formation ici lol , et la progg c pas mon domaine lol. On utilise excel car le client peut remettre en forme les donnée a sa sauce ainsi, il ne peux rien nour dire si sa plante, il avait k'a faire attention ^^.
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
1
Voir même un petit prog (en C ou autre) qui recup en contigue les données, les stoquent (en fichier texte séparateur ; pour les ouvrir simplement avec exel par exemple) et ton prog récup les données.

------------------------------------------------------------------------------
Ce soir dans "triste monde tragique" :

Des vers qui mangent les programmeurs !
Des virus sorte des ordinateurs et attaque des gents !
------------------------------------------------------------------------------
Messages postés
29
Date d'inscription
mercredi 24 août 2005
Statut
Membre
Dernière intervention
20 septembre 2006

Bon appéti ^^
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
1
Si tu veut un "gros" coup de pouce tu me fais parvenir ton mail par message privé.

------------------------------------------------------------------------------
Ce soir dans "triste monde tragique" :

Des vers qui mangent les programmeurs !
Des virus sorte des ordinateurs et attaque des gents !
------------------------------------------------------------------------------
Messages postés
29
Date d'inscription
mercredi 24 août 2005
Statut
Membre
Dernière intervention
20 septembre 2006

Re, une question, pourquoi lancer un msgbox lors de la désactivation de l'affiochage de la feuille? De plus si je relance le fichier, j'aurais , perdu les donnée en cours, si ce n'est pas sauvegarder je peux save avant de relancer j'avou ). Mais pourais t'on, l'orsque l'on détecte la désactivation du fichier, le reactivé tout simplement ?
                                          
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Yeah Polack !

Comment vas tu ?
Ca fait plaisir de te croiser, je vois que tu as changé d'Avatar ;)

Bonne continuation à toi et à bientôt.

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
Messages postés
29
Date d'inscription
mercredi 24 août 2005
Statut
Membre
Dernière intervention
20 septembre 2006

POur petite info il parraitrais apres des test, que dans VBA excel les Timer géré par Excel sont gelés quand la feuille de calcul est en arrière plan. On s'en est appercu car un Timer ocx fourni par la boite Omron, fonctionne toujours quand la feuille est en arrière plan. ( Omron est une boite qui fait des logiciel de programmation d'automatisme. ) Il on du déveloper leur timer car celui d'Excel à du mal ^^
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
1
<!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600"
o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f"
stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" alt="" style='width:11.25pt;
height:11.25pt'>
<v:imagedata src="file:///C:\DOCUME~1\VIW\LOCALS~1\Temp\msohtml1\01\clip_image001.gif"
o:href="/imgs2/smile_big.gif"/>
</v:shape><![endif]-->
<!--[if !vml]-->Salut Mortalino, ça vas? Moi je vais bien (en WeekEnd ce
soir , mais bon j'ai plein de truc à faire donc le
repo attendras samedi. Si non rien de neuf, sauf peut être que je me met à une
recherche d'emploi, mon contrat est reporté jusqu’a décembre dans ma boite
actuel (le temps que je finisse mon projet) et salut tout le monde (je n'ais
pas la possibilité d'évoluer comme je le souhait, à la fin de mon projet la
seul place dispo en info est technicien d'exploite, et j'ai vraiment mais alors
vraiment pas envie) si non la forme et le morale sont là donc tout vas bien. Si
seul hic j'ai du mal à exécuter mon code (en langage C) sur un UNIX,
compilation + exécution correct sous Windows mais quand je recompile sur UNIX
(alors avec un compilo qui date de Mathusalem, connais même pas le type
bool!!!) et là des erreur d'allocation de mémoire <!--[if gte vml 1]><v:shape
id="_x0000_i1026" type="#_x0000_t75" alt="" style='width:11.25pt;height:11.25pt'>
<v:imagedata src="file:///C:\DOCUME~1\VIW\LOCALS~1\Temp\msohtml1\01\clip_image002.gif"
o:href="/imgs2/smile_question.gif"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--><!--[if gte vml 1]><v:shape id="_x0000_i1027"
type="#_x0000_t75" alt="" style='width:11.25pt;height:11.25pt'>
<v:imagedata src="file:///C:\DOCUME~1\VIW\LOCALS~1\Temp\msohtml1\01\clip_image002.gif"
o:href="/imgs2/smile_question.gif"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--><!--[if gte vml 1]><v:shape id="_x0000_i1028"
type="#_x0000_t75" alt="" style='width:11.25pt;height:11.25pt'>
<v:imagedata src="file:///C:\DOCUME~1\VIW\LOCALS~1\Temp\msohtml1\01\clip_image002.gif"
o:href="/imgs2/smile_question.gif"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]-->Un free fais planté mon code <!--[if gte vml 1]><v:shape
id="_x0000_i1029" type="#_x0000_t75" alt="" style='width:11.25pt;height:11.25pt'>
<v:imagedata src="file:///C:\DOCUME~1\VIW\LOCALS~1\Temp\msohtml1\01\clip_image002.gif"
o:href="/imgs2/smile_question.gif"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--><!--[if gte vml 1]><v:shape id="_x0000_i1030"
type="#_x0000_t75" alt="" style='width:11.25pt;height:11.25pt'>
<v:imagedata src="file:///C:\DOCUME~1\VIW\LOCALS~1\Temp\msohtml1\01\clip_image002.gif"
o:href="/imgs2/smile_question.gif"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--><!--[if gte vml 1]><v:shape id="_x0000_i1031"
type="#_x0000_t75" alt="" style='width:11.25pt;height:11.25pt'>
<v:imagedata src="file:///C:\DOCUME~1\VIW\LOCALS~1\Temp\msohtml1\01\clip_image002.gif"
o:href="/imgs2/smile_question.gif"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]-->


Enfin voila tout, si tu entant parler que quelqu'un cherche
un programmeur d'ici le 15/01/2007 je suis preneur (c’est sur Paris, et il me
semble que ce n'est pas ton cas).


Bon je vais me calmer, je raconte ma vie et j’en fais un pavé
en plus.

A+, et n'oubli pas de prendre du bon temps, c'est important pour le morale.


Je ne sais pas si tu es au courant mais Alain Lamassoure (député
UMP) veut TAXER LES MAIL ET LES SMS !!! Il ne vaut mieux pas que j’en dise
plus je vais être vulgaire !!!


------------------------------------------------------------------------------

Ce soir dans "triste monde tragique" :


Des vers qui mangent les programmeurs !
Des virus sorte des ordinateurs et attaque des gents !


------------------------------------------------------------------------------