Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    février 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 54
    Points : 42
    Points
    42
    Par défaut récupérer dans une cellule, la date d'enregistrement du fichier
    Bonjour à tous,

    J'ai l'impression que je vais me faire insulter avec cette question, parce que j'ai le sentiment que la réponse est évidente.
    Seulement voilà, je n'arrive pas à la trouver, cette réponse.

    J'ai créé un fichier, qui fait tout plein de trucs (aucune importance), et qui contient un certain nombre de macros.
    Je désire diffuser ce fichier dans un espace public (sur un réseau d'entreprise, en l'occurrence). Par contre, je désire garder la main sur les versions du fichier.
    L'enregistrement du fichier pour le public se fait donc dans un format XLSX, sans macro.

    Le fichier est protégé contre l'écriture, le classeur est protégé contre les modifications, les feuilles sont également protégées, mais je sais d'expérience qu'il y aura toujours un petit malin pour tout craquer et réenregistrer sous le même nom un fichier modifié.

    Comme je n'ai pas la possibilité d'éliminer ce risque, j'ai pensé à chaque ouverture publique du fichier vérifier si les informations ont été modifiées depuis le dernier enregistrement fait par moi.
    La date d'enregistrement est connue, puisque lorsque je crée le fichier XLSX, une macro me place dans une des cellules du fichier la date et l'heure à laquelle l'enregistrement est effectué. Cette date ne peut plus être modifiée ultérieurement, puisque le fichier public étant sans macro, l'information ne sera pas mise à jour lors d'un enregistrement ultérieur.

    Il me suffit donc maintenant de pouvoir, à l'aide d'une formule dans une cellule (pas de macro, puisque le fichier public ne les gère pas), récupérer la date d'enregistrement système (celle qui apparait dans l'explorer Windows), et de la comparer à la date enregistrée à l'origine dans le fichier.

    Ma question : quelle est la formule qui permet de récupérer cette fameuse date d'enregistrement système ?

    Merci d'avance pour vos idées

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    juin 2007
    Messages
    14 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2007
    Messages : 14 215
    Points : 29 173
    Points
    29 173
    Par défaut
    Citation Envoyé par tasse2the Voir le message
    Il me suffit donc maintenant de pouvoir, à l'aide d'une formule dans une cellule (pas de macro, puisque le fichier public ne les gère pas), récupérer la date d'enregistrement système (celle qui apparait dans l'explorer Windows), et de la comparer à la date enregistrée à l'origine dans le fichier.

    Ma question : quelle est la formule qui permet de récupérer cette fameuse date d'enregistrement système ?
    A ma connaissance, les seules fonctions qui vont un peu fouiller dans les informations système sont INFORMATION() et CELLULE().
    https://support.office.com/fr-FR/art...2-58815c69acae
    https://support.office.com/fr-FR/art...f-955d67c2b2cf
    Mais ça reste très limité et je ne pense pas qu'elle puisse fournir la date d'enregistrement du fichier en natif.

    De toute façon, ton système serait contournable assez simplement.
    A moins que tu ais aussi verrouillé la sélection des cellules, il est toujours possible à n'importe qui de copier les cellules et de les coller dans un autre fichier qu'il nommera de la même façon.
    Et, dans la copie (qui n'a donc plus aucune protection), il pourra sans problème modifier ta cellule "date", voir même modifier provisoirement la date de son poste pour enregistrer le fichier copie à la même date que le tien.

    Et, là, je ne parle que de manipulations accessibles à quasiment n'importe qui.
    Si le malvenant commence à taper les bons mots dans son moteur de recherche, il pourra sans doute accéder à des outils permettant de faire sauter les protections.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    février 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    Effectivement, rien dans les deux formules qui concerne les informations explorer sur le fichier.

    Pour le reste, je suis assez d'accord avec toi. "Et, là, je ne parle que de manipulations accessibles à quasiment n'importe qui."

    Ca tombe bien, parce que les utilisateurs potentiels du fichier en question sont des "n'importe qui". Si quelqu'un veut vraiment forcer un fichier excel, pour peu qu'il ait un tout petit peu de connaissances du logiciel, aucune protection offerte par excel ne le bloquera (lecture seule, protection de cellules, de feuilles ou de classeurs sont des verrous plutôt très facile à faire sauter, puisque j'y arrive, et que je suis bien loin d'être un pro.)

    C'était d'ailleurs le sens de mon intervention. Sachant que les protections ne sont pas efficaces, il s'agissait pour moi de ne pas me prendre la tête à mettre des verrous inutiles de partout, mais plutôt d'être capable de me rendre compte d'une modification, de façon à afficher un avertissement sur ma feuille, comme quoi l'intégrité des données du fichier n'était plus assurée.

    Le fichier original, dont les informations doivent rester fiables à 100%, ne sera de toutes façons pas diffusé au public (a vrai dire, il ne sera même pas sauvegardé sur le réseau, mais sur un support indépendant, physiquement protégé, puisque dans ma poche lorsque je ne suis pas en train de travailler dessus).

    J'ai pensé à ne diffuser que des fichiers pdf, ce qui règlerai le problème. L'inconvénient, c'est que si un utilisateur veut modifier le fichier à titre "personnel" (récupérer les données qui sont dedans par exemple, et le sauvegarder sous un nom propre), la solution PDF n'est pas intéressante.

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    juin 2007
    Messages
    14 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2007
    Messages : 14 215
    Points : 29 173
    Points
    29 173
    Par défaut
    Citation Envoyé par tasse2the Voir le message
    J'ai pensé à ne diffuser que des fichiers pdf, ce qui règlerai le problème. L'inconvénient, c'est que si un utilisateur veut modifier le fichier à titre "personnel" (récupérer les données qui sont dedans par exemple, et le sauvegarder sous un nom propre), la solution PDF n'est pas intéressante.
    Si ton PDF est directement issu d'Excel, il est vraisemblable qu'un copier/coller (avec peut-être l'aide de quelques formules simples et/ou de la commande Convertir) permettrait de se refaire un fichier Excel perso.

    Et passer par une copie image protègerait à peine mieux étant donné ce que savent faire les OCR.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    14 553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 14 553
    Points : 40 108
    Points
    40 108
    Billets dans le blog
    58
    Par défaut
    Salut.

    Enregistre ton fichier en lecture seule et place-le dans un dossier du serveur sur lequel l'utilisateur lambda n'a pas de droits d'écriture. Ce fichier sera réputé être le seul et unique valable pour la consultation.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Une fois pour toutes, je donne mon avis. Je ne vais pas le répéter à chaque message...
    Si je propose une solution générique sur votre solution spécifique, c'est parce que, fainéant de nature, je privilégie le réutilisable...
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/01/2019, 22h33
  2. Réponses: 3
    Dernier message: 19/03/2018, 13h45
  3. [XL-2003] Récupérer dans une cellule des caractères à nombre variable
    Par crizelle dans le forum Excel
    Réponses: 2
    Dernier message: 21/02/2014, 18h57
  4. [XL-2007] Suppression fichier dont le nom est à récupérer dans une cellule
    Par 2lester dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/03/2012, 19h26
  5. Réponses: 5
    Dernier message: 29/09/2005, 14h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo