Forcer Excel à me reconnaître

Forcer Excel à me reconnaître - VB/VBA/VBS - Programmation

Marsh Posté le 14-02-2006 à 21:35:27    

J'ai une macro qui ouvre un fichier en lecture seulement (read only). Je voudrais ajouter une clause à cette macro qui dit que si c'est moi qui ouvre éxécute la macro de ne pas l'ouvrir en lecture seule.
 
Nous sommes en réseau. Est-ce qu'il y a une façon que Excel reconnaisse mon username?
 
Merci

Reply

Marsh Posté le 14-02-2006 à 21:35:27   

Reply

Marsh Posté le 14-02-2006 à 23:12:09    

ben ton ton code qui ouvre le fichier tu fais une divergence
si nom d utilisateur différent de moi alors
ouvrir en lecture seule
sinon
ouvrir normalement
 
C'est ca ?
 
(pour ton nom d utilisateur cherches dans les WMI ou dans le registre)


---------------
now : do nothing
Reply

Marsh Posté le 15-02-2006 à 04:48:22    

bonjour,
essaie ça :

Code :
  1. Sub test()
  2. utilisateur = environ("username" )
  3. msgbox "Bonjour " & utilisateur
  4. End sub


A+


---------------
roger
Reply

Marsh Posté le 15-02-2006 à 09:53:51    

Et utiliser les fonctions Excel d'accès par mot de passe différent suivant si l'on veut ouvrir en lecture seule ou en modficiation, ça ne te convient pas ?

Reply

Marsh Posté le 15-02-2006 à 14:07:47    

merci beaucoup galopin1, ça fonctionne!!

Reply

Marsh Posté le 20-02-2006 à 13:29:00    

Bonjour,
 
Je débute en VBA, et je cherche à appliquer le même genre de process sur un fichier dispo en rézo.
Peux-tu poster ton code complet ?
 
Y a-t-il moyen de ne pas afficher Le popup suivant  :" 'file.xls' should be opened as read-only unless you need to save changes to it.  Open as read only ?" (Yes/No/Cancel)
 
Merci beaucoup,
 
Johan

Reply

Marsh Posté le 20-02-2006 à 14:09:51    

Pour ouvrir un fichier en read-only sans l'alerte
Le code est:
        Application.DisplayAlerts = False 'enlève l'alerte
            Workbooks.Open nomfichier, ReadOnly:=True
        Application.DisplayAlerts = True 'réactive l'alerte
 
Si tu veux en plus cacher le fichier que tu ouvres en lecture seule, tu ajoutes:
        Workbooks(nomfichier).Activate
        ActiveWindow.Visible = False 'mode invisible
 
En espérant que ça t'aide.

Reply

Marsh Posté le 20-02-2006 à 17:18:15    

Ok, merci.
Finalement j'ai utilisé le code suivant afin de travailler sur le workbook en question.
 
   utilisateur = Environ("username" )
   Application.DisplayAlerts = False
     
       If utilisateur = "Login" Then
           Workbooks.Open "file.xls", ReadOnly:=True
         
       Else
           ThisWorkbook.ChangeFileAccess xlReadOnly
   
       End If

 
Par contre si tu as une solution pour le pas avoir le prompt de sauvegarde des modification faites sur le fichier (ouvert en readonly) je suis preneur.
 
Merci,
Johan


Message édité par Boubounet le 20-02-2006 à 17:20:35
Reply

Marsh Posté le 20-02-2006 à 17:31:34    

Boubounet,
 
Si tu fermes le fichier read-only à partir du fichier qui l'a ouvert, tu peux faire:
'pour fermer le fichier read-only sans avertissement
    Application.DisplayAlerts = False 'enlève l'alerte  
    Workbooks("file.XLS" ).Activate
    ActiveWorkbook.Close SaveChanges:=False 'ferme le fichier sans les changement
    Application.DisplayAlerts = True 'réactive l'alerte **
 
** il est important de réactiver les alertes.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed