Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2886 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  nom de fichier dans cellute protégée

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

nom de fichier dans cellute protégée

n°1243007
theboot28
Posté le 10-11-2005 à 11:46:58  profilanswer
 

Bonjour,
Pour assurer une certaine traçabilité sur mon fichier j'aimerai que le nom du fichier s'affiche dans une cellule et que cette cellule soit verrouillée (un peu comme ce qu'il est possible de faire dans l'en tête).
Après, dans les cellules suivantes, j'aimerai afficher les dates de création et de dernière modification de ce fichier, mais là c'est une autre histoire...

mood
Publicité
Posté le 10-11-2005 à 11:46:58  profilanswer
 

n°1243560
PGreg
Posté le 10-11-2005 à 21:19:21  profilanswer
 

Salut,
Voilà ce que j' ai fais :  
 
Private Sub Workbook_open() 'A l' ouverture du fichier(ThisWorkbook)
Range("A1" ) = ActiveWorkbook.Name    'Cellule A1 est égale au nom du fichier actif
Range("B1" ) = Date          'Celule B1 est égale à la date du jour
ActiveCell.Select            'Pour reséléctionner la feuille (Inutile dans le cas présent...)
End Sub
 
Ensuite :  
 
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)   'Lors de la séléction du cellule (ThisWorkbook)
If ActiveCell = Range("A1" ) Then   'Si la cellule à le même contenu que la cellule A1 (Nom du classeur), Alors, elle descend de 1 case
SendKeys "{Enter}", True
Activecell.Select   'Si tu ne veux pas qu' en séléctionnant la feuille, il soit possible d' en annuler le contenu... Et donc de A1
End If
End Sub
 
Et Puis :  
 
J' ai trouvé ça dans un magazine :  
 
Date de création : DateCreated
Dernière modification : DateLastModified
Dernier accès : DateAccessed
Type du fichier : Type
 
C' est ce que tu voulais ?
 
 
 
 

n°1243904
Vobiscum
Vénérez moi !
Posté le 11-11-2005 à 15:10:33  profilanswer
 

theboot28 a écrit :

Bonjour,
Pour assurer une certaine traçabilité sur mon fichier j'aimerai que le nom du fichier s'affiche dans une cellule et que cette cellule soit verrouillée (un peu comme ce qu'il est possible de faire dans l'en tête).
Après, dans les cellules suivantes, j'aimerai afficher les dates de création et de dernière modification de ce fichier, mais là c'est une autre histoire...


 
voici:
 

Code :
  1. Private Sub Workbook_Open()
  2. ThisWorkbook.Unprotect
  3. Range("A1" ).Value = ThisWorkbook.Name
  4. Range("A2" ).Value = ThisWorkbook.BuiltinDocumentProperties("Creation Date" ).Value
  5. Range("A3" ).Value = ThisWorkbook.BuiltinDocumentProperties("Last Save Time" ).Value
  6. Range("A1:A3" ).Locked = True
  7. ThisWorkbook.Protect
  8. End Sub


---------------
Ce qui est affirmé sans preuve peut être nié sans preuve.
n°1244413
PGreg
Posté le 12-11-2005 à 20:29:53  profilanswer
 

Salut,  
 
Je sais que c' est pas on sujet, cependant, je me permet de poser ces questions :  
 
Je crois que la formule à proprier c' est  :  
 
7. Protect (Workbook)
 
(Enfin, par ce que chez moi, ça marche pas.)
 
Et n' y aurait il pas une erreur à Range("A1:A3" ).Locked = True ?
 
( Par ce que ça aussi, chez moi, ça marche pas.)
 
Merci

n°1244632
Vobiscum
Vénérez moi !
Posté le 13-11-2005 à 14:23:25  profilanswer
 

PGreg a écrit :

Salut,  
 
Je sais que c' est pas on sujet, cependant, je me permet de poser ces questions :  
 
Je crois que la formule à proprier c' est  :  
 
7. Protect (Workbook)
 
(Enfin, par ce que chez moi, ça marche pas.)
 
Et n' y aurait il pas une erreur à Range("A1:A3" ).Locked = True ?
 
( Par ce que ça aussi, chez moi, ça marche pas.)
 
Merci


 
Quelle version XL ?
Dans quel module places-tu le code ?


---------------
Ce qui est affirmé sans preuve peut être nié sans preuve.
n°1244730
PGreg
Posté le 13-11-2005 à 18:05:16  profilanswer
 

Bonjour,
 
Voilà, j' ai utilisé le code su la version 2003 d' excel (VBA6).
J' ai placé le code dans le ThisWorkbook puis dans une simple macro (Sub ess)
 
 

n°1244790
Vobiscum
Vénérez moi !
Posté le 13-11-2005 à 20:01:25  profilanswer
 

PGreg a écrit :

Bonjour,
 
Voilà, j' ai utilisé le code su la version 2003 d' excel (VBA6).
J' ai placé le code dans le ThisWorkbook puis dans une simple macro (Sub ess)


 
J'utilise la version XL 2002 SP3 mais ça ne doit pas changer entre les deux versions !
 
la définition de "protect" en tant que méthode est:
expression.Protect(Password, Structure, Windows)
où "expression" est à remplacer avec l'objet que tu veux protégéer ... ici par "thisworkbook".
Tous les paramètres de "protect" sont facultatifs.
 
la définition de "locked" en tant que propriété est:
expression.Locked
c'est un type de donnée variant en lecture-écriture.
Voici l'exemple tiré du help de excel VB:
Worksheets("Sheet1" ).Range("A1:G37" ).Locked = False
 
Pour le code, il doit être dans "workbook_open" du module "thisworkbook" et être le seul workbook_open du module.
Les macros doivent être activées lors de l'ouverture du workbook.
 
Tu peux exécuter la fonction pas à pas pour cerner d'avantage l'erreur qui se produit pour toi et la poster ici.
 
@+ Vobiscum


---------------
Ce qui est affirmé sans preuve peut être nié sans preuve.
n°1244950
theboot28
Posté le 14-11-2005 à 08:55:40  profilanswer
 

merci vobiscum

n°1244952
theboot28
Posté le 14-11-2005 à 09:07:40  profilanswer
 

et merci Pgreg

n°1244953
theboot28
Posté le 14-11-2005 à 09:16:10  profilanswer
 

Le code marche à condition que la feuille ne soit pas préalablement protégée!
sinon ça plante! il y a 1 solution ?????
(ps j'ai excel 2003)

mood
Publicité
Posté le 14-11-2005 à 09:16:10  profilanswer
 

n°1244956
Vobiscum
Vénérez moi !
Posté le 14-11-2005 à 09:31:39  profilanswer
 

oui, tu rajoutes:
sheets("Feuil1" ).unprotect
au début après la déprotection du workbook et:
sheets("Feuil1" ).protect
à la fin du code avant la protection du workbook
évidement il faut remplacer Feuil1 par le nom de la feuille qui est protégée


---------------
Ce qui est affirmé sans preuve peut être nié sans preuve.
n°1244962
theboot28
Posté le 14-11-2005 à 09:44:10  profilanswer
 

Problème résolu avec :
ActiveSheet.Protect
 
merci encore à tous les 2 !

n°1245101
theboot28
Posté le 14-11-2005 à 12:56:11  profilanswer
 

oups! je viens de voir un bug:
si tu fais un "enregistrer sous" en changeant de nom de fichier, la date de création n'est pas mise à jour, elle reste sur le fichier initial alors que cette date est bien mise à jour dans les attributs du fichier dans l'explorateur!

n°1245485
PGreg
Posté le 14-11-2005 à 18:24:00  profilanswer
 

Salut,  
 
Effectivement, il ya un bug. Voilà ce que tu pourrait mettre avant de copier ton fochier :  
 
1 ThisWorkbook.BuiltinDocumentProperties("Creation Date" ).Value = ThisWorkbook.BuiltinDocumentProperties("Last Save Time" ).Value
 
2 Range("A2" ) = ThisWorkbook.BuiltinDocumentProperties("Creation Date" ).Value
 
J' éspere que ça va marcher pour toi.
(Attention! Annule La ligne1 après.)
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  nom de fichier dans cellute protégée

 

Sujets relatifs
ouvrir un fichier excel depuis Access en VBA, encore une petite chosefonction copy() de fichier
ouvrir un fichier .phpOuverture d'un fichier .fla --> format de fichier inattendu
Ecrire un octet binaire dans un fichier[expressions régulières] Parser un fichier properties
Mettre en ligne un fichier excelRecherche dans un fichier xml
Récupération des éléments d'un fichier xml en flux retourVider un fichier du cache !
Plus de sujets relatifs à : nom de fichier dans cellute protégée


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR