IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Macros et VBA Excel Discussion :

Rendre mon fichier Excel inutilisable après 1 mois


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2020
    Messages : 12
    Par défaut Rendre mon fichier Excel inutilisable après 1 mois
    J'aurais voulu mettre une durée d'utilisation d'un mois à mes fichiers.
    Je suis totalement novice et ne chercherai pas la complication en empêchant le contournement de cette limite via la modification de la date de l'ordi ou de rendre ma macro inattaquable par un spécialiste.
    Evidemment, si une solution simple existe, je ne suis pas contre non plus.
    Merci d'avance pour vos conseils

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par return2022 Voir le message
    "ou de rendre ma macro inattaquable par un spécialiste."
    Bonjour,

    Totalement illusoire.

    A votre place, je changerais l'extension des fichiers ou je réaliserais un déplacement dans un autre répertoire en fonction de la date de création.

  3. #3
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Bonjour,
    RENDRE MON FICHIER EXCEL INUTILISABLE APRES 1 MOIS
    Que voulez vous dire exactement par inutilisable?
    Voulez vous qu'on ne puisse plus le lire, plus le transformer ou autre chose?
    Parce qu'avec une date de départ, et la mise en place d'une protection avec mot de passe, 30 ou 31 jours plus tard. Ca n'est pas très compliqué en sachant bien sur que cela n'arrêtera que ceux qui ne souhaite pas vraiment débloquer ce système.
    Cordialement

  4. #4
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2020
    Messages : 12
    Par défaut
    Merci de vos réponses.
    Je désire commercialiser mes fichiers (j'en ai 2 actuellement) sous forme d'abonnement mensuel.
    Donc, à l'issue de la période d'un mois (30 ou 31 jours), il devrait idéalement s'arrêter de fonctionner, quel que soit le moyen employé (formules inopérantes, auto-destruction , ...)

    J'ai tout à fait conscience qu'un spécialiste contournera la protection mais je pense, j'espère décourager 85% ou 90% des tentatives.

    Vu mon niveau, la solution la plus simple sera la meilleure. Si, au mieux, elle pouvait empêcher l'astuce la plus connue (changer la date de son ordi), ce serait un plus mais même cela n'est pas un impératif.
    Toute aide sera la bienvenue.
    Un grand nerci d'avance.

  5. #5
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Re-bonjour.
    Au vu de ce que j'ai lu, je crains qu'il n'y ait rien de professionnel qui soit disponible. Parce que, j'ai la sensation que lorsqu'on souhaite commercialiser quelque chose, il y a la nécessité d'une chaine totalement prof.
    Or la, il n'existe que des bidouillages à faire.
    Vos clients doivent-ils conserver toujours le même document ou reçoivent-ils un nouveau document tous les mois?
    S'il en reçoivent un nouveau tous les mois, vous pouvez "détruire" aisément l'ancien rien qu'en détruisant une colonne vitale à l'architecture du document. (C'est un exemple parmi d'autres) En sachant qu'il est simple lors de la réception du document d'en faire des copies pour remplacer le futur document qui serais détruit.
    Par contre si c'est le même qui se continue, vous pouvez pas faire cela, vous êtes obligé de seulement le bloquer.
    Enfin moi ce que j'en dit c'est pour vous!!!
    Cordialement

  6. #6
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2020
    Messages : 12
    Par défaut
    Merci Transitoire,

    mon idée est de renvoyer un document chaque mois, identique au précédent (à l'exception des dates de validité, bien sur).

    Je crois qu'il est possible d'éviter qu'une copie ne se prolonge au-delà de la période prévue en indiquant dans la macro non pas une durée de 30 jours mais une date de fin (à odifier lors de chaque nouvel envoi)
    Mais je ne sais pas comment faire.

  7. #7
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    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 : 16 037
    Par défaut
    Citation Envoyé par return2022 Voir le message
    J'aurais voulu mettre une durée d'utilisation d'un mois à mes fichiers.
    Je suis totalement novice et ne chercherai pas la complication en empêchant le contournement de cette limite via la modification de la date de l'ordi ou de rendre ma macro inattaquable par un spécialiste.
    Tu pourrais mettre dans le module ThisWorkbook une macro évènementielle Open qui compare la date actuelle (fonction Now) à une date que tu auras fixée.
    Si la date est dépassée, le fichier se ferme lui-même (même si c'est plutôt déconseillé) avec un ThisWorkbook.Close.

    Mais il suffit que l'utilisateur ne valide pas l'activation des macro pour que cette protection parte en fumée.

    Citation Envoyé par return2022 Voir le message
    Je désire commercialiser mes fichiers (j'en ai 2 actuellement) sous forme d'abonnement mensuel.
    Donc, à l'issue de la période d'un mois (30 ou 31 jours), il devrait idéalement s'arrêter de fonctionner, quel que soit le moyen employé (formules inopérantes, auto-destruction , ...)
    Avec Excel ??? C'est complètement illusoire.

    Il y a un autre détail auquel il faut penser : comment fait l'utilisateur chaque mois (s'il paye ton "loyer") pour repousser la date ?
    Là, on entre dans quelque chose de très compliqué parce qu'il faudrait gérer des codes d'activation cryptés dépendant du poste. Bref, une usine à gaz qui n'est pas à la portée de VBA.

  8. #8
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2020
    Messages : 12
    Par défaut
    Merci, Menhir

    Dans l'optique d'une location, je renvoie un nouveau fichier avec la nouvelle date de fin, modifiée dans la macro, chaque mois si l'abonné renouvelle, bien sur.

    Le fichier que j'ai reçu il y a 10 ans maintenant empêchait de passer outre la protection. Modifier la date de son ordi ne fonctionnait pas. Le fichier ne s'ouvrait pas au-delà de la page d'accueil si l'on avait pas autorisé toutes les macros.
    Il empêchait même les copies sur un autre ordi, ne fonctionnant que sur celui où il avait été ouvert pour la première fois.

    Mais je n'en demande pas tant.

    Bat

  9. #9
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    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 : 16 037
    Par défaut
    Citation Envoyé par return2022 Voir le message
    Le fichier que j'ai reçu il y a 10 ans maintenant empêchait de passer outre la protection. Modifier la date de son ordi ne fonctionnait pas. Le fichier ne s'ouvrait pas au-delà de la page d'accueil si l'on avait pas autorisé toutes les macros.
    Il empêchait même les copies sur un autre ordi, ne fonctionnant que sur celui où il avait été ouvert pour la première fois.
    Sur Excel en VBA ??? Ca devait être une sacrée usine à gaz.

    Pour que la modification de l'horloge ne fonctionne pas, on peut enregistrer la date à chaque ouverture et fermeture de fichier (voir même pendant le fonctionnement) en vérifiant que la date actuelle n'est pas antérieure à la dernière enregistrée.

    Pour éviter la copie, on peut récupérer des éléments propre à l'ordinateur comme son adresse IP (en supposant qu'elle soit fixe), le numéro de processeur, de la mémoire et quelques autres bricoles.
    A l'ouverture, on vérifie si ces données sont vides. Si c'est le cas, on les récupère et on les stock dans un coin bien caché. Si ces données ne sont pas vides, on les compare à celles du poste.

    Mais, comme je l'ai dit, ça fait une énorme usine à gaz. VBA Excel n'est vraiment pas prévu pour faire ça.

  10. #10
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2020
    Messages : 12
    Par défaut
    Oui, sur Excel et VBA et l'expression "usine à gaz" est exactement celle employée par l'auteur de ce fichier (aujourd'hui décédé)

    C'est pour cela que je n'en demande pas tant. J'ai trouvé ce code sur Internet mais soit je l'implante mal, soit c'est du pipeau. En effet, avant comme après la date limite, seule ma page d'accueil est accessible. Et une fois la date limite passée, effectivement un message apparaît, disant que le fichier a expiré.

    Voici ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Workbook_Open()
    'par Excel-Malin.com (https://excel-malin.com)
    Application.ScreenUpdating = False 'l'utilisateur ne voit pas les changement sur son écran
    'la date d'expiration
    DateExpiration = DateSerial(2017, 12, 31) ' <= choisissez la date d'expiration >>> via la fonction DateSerial avec les paramètres (aaaa, mm, jj)
    'compare la date d'expiration avec la date d'aujourd'hui
    If DateExpiration <= Date Then
        'le code de l'action à effectuer quand le fichier est expiré
        'par exemple un message:
        MsgBox "Ce fichier n'est plus valide..."
    Else
    End If
    Application.ScreenUpdating = True 'on réenclanche l'affichage des changements
    End Sub

  11. #11
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Par défaut
    Bonjour,
    Citation Envoyé par return2022 Voir le message
    ...Le fichier que j'ai reçu il y a 10 ans maintenant empêchait de passer outre la protection. Modifier la date de son ordi ne fonctionnait pas. Le fichier ne s'ouvrait pas au-delà de la page d'accueil si l'on avait pas autorisé toutes les macros.
    Citation Envoyé par return2022 Voir le message
    Oui, sur Excel et VBA ...
    Comme dit Eric : Totalement illusoire ...
    Si on accède à la page d'accueil, il ne faut que quelques minutes (ou secondes) pour accéder au VBA ...
    Même l'obfuscation ne résiste pas longtemps.

    La bonne question c'est : Est-ce que la protection résiste suffisamment longtemps pour que le coût de la dé-protection n'apporte aucun intérêt financier.

  12. #12
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Par défaut
    Le principe est simple :
    - Aucune protection n'est inviolable, si on y met les moyens.
    - Elle résiste donc un certain temps (comme le fût du canon).
    - Le temps et les moyens c'est de l'argent, d'où la question ...

    Avec Excel et VBA, pas besoin de moyens autres que ceux existant déjà, seul le temps coûte ... et quelques minutes c'est pas cher.

  13. #13
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2020
    Messages : 12
    Par défaut
    Je suis assez nul en VBA mais tout ça, je le savais déjà.

    Cela n'invalide pas ma demande d'une protection simple, que beaucoup d'utilisateurs n'essayeront même pas de forcer

  14. #14
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    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 : 16 037
    Par défaut
    Citation Envoyé par return2022 Voir le message
    C'est pour cela que je n'en demande pas tant. J'ai trouvé ce code sur Internet mais soit je l'implante mal, soit c'est du pipeau. En effet, avant comme après la date limite, seule ma page d'accueil est accessible. Et une fois la date limite passée, effectivement un message apparaît, disant que le fichier a expiré.
    Ce code fait exactement ce que j'ai décrit dans ma première réponse.

    Effectivement, il ne fait que présenter un message si la date a expiré.
    Ce n'est pas du "pipeau" mais plus vraisemblablement la présentation d'un principe. C'est à l'utilisateur de l'adapter en fonction de ce qu'il souhaite réaliser lorsque la date a expiré, le développeur ne pouvant pas connaitre les détail de l'application de chaque utilisateur.

    Cela dit, si tu n'es pas en mesure de comprendre ce code qui n'est composé que de 5 ou 6 instructions très basiques et bourré de commentaires, je ne pense pas que tu ais le niveau pour faire ce que tu demandes.
    Il faudrait peut-être commencer par un minimum de formation aux bases de VBA, non ?
    Le jour de sa première leçon de pilotage, on ne demande pas au moniteur si on peut tenter un looping.

    Citation Envoyé par return2022 Voir le message
    Je pense que tu réagis comme le spécialiste que tu es mais que 80 à 90% des utilisateurs ne sauront pas comment contourner ou casser la protection.
    Mais 80 à 90% des utilisateurs sait utiliser un moteur de recherche.
    On voit même régulièrement sur ce forum des personnes qui viennent demander comment ôter une protection de ce type. Ici, il y a peu de chance qu'ils aient une réponse à une telle question mais il existe des centaines d'autres forums qui n'auront pas autant de scrupules.

    Si j'ai bien compris, ton application ne comporte, à la base, aucun code VBA. Elle n'est composée que de données et de formules.
    Qu'est-ce qui empêche un utilisateur de, tout simplement, copier le contenu (formules et formats compris) dans un autre classeur, voir même de copier carrément les onglets ?
    Qu'est-ce qui empêche un utilisateur d'enregistrer le fichier au format xlsx (ce qui éliminerait toute macro) ?

    Et ça, plus de 90% des utilisateurs savent le faire.

    Comme le disait Patrice ( ), tout est une question de rentabilité.
    Rentabilité pour l'éditeur (toi) entre le temps et l'argent consacré à installer cette protection par rapport à une perte potentielle.
    Rentabilité pour l'utilisateur (tes clients) entre le temps et l'argent consacré à ôter cette protection par rapport à un gain potentiel.

    Une chose est sûre : tu ne trouveras pas de solution toute faite qu'il te suffira de copier dans ton fichier pour qu'elle s'adapte à ton application.
    Il faudra donc, à minima, que tu investisses du temps à acquérir quelques compétences en VBA.

  15. #15
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2020
    Messages : 12
    Par défaut
    Mais je suis 100% d'accord avec toi, Menhir, je ne demande pas au moniteur de pouvoir tenter moi-même un looping. Je lui demande d'effectuer ce looping pour moi, ce qui est moins absurde.
    Ma position est claire et je pense cohérente:
    1) Je sais que je suis nul en VBA, je l'ai précisé à plusieurs reprises
    2) J'ai eu, il y a 11 ans (pas 10 comme je l'ai mentionné un peu vite) un fichier hyper-protégé par un spécialiste. Donc je sais que c'est possible.
    3) Je cherche donc quelqu'un ayant la capacité de m'aider.
    Je ne vois pas ce qu'il y a d'illogique ou d'utopique dans ma démarche.
    Je cherche un spécialiste du VBA que je suis prêt à rémunérer pour son aide
    Mais à ce jour, je suis plutôt tombé sur des experts en lieux communs qui m'apprennent des choses que je sais déjà (aucune sécurité n'est inviolable; il faut apprendre à marcher avant de courir, ...)

  16. #16
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Bonjour,
    2) J'ai eu, il y a 11 ans (pas 10 comme je l'ai mentionné un peu vite) un fichier hyper-protégé par un spécialiste. Donc je sais que c'est possible.
    Sans vouloir vous importuner, permettez moi d'être surpris de la phrase ci-dessus. En effet, vous nous parlez d'un fichier Hyper-protégé qui avait été fait par un spécialiste. Je ne me permettrais pas, bien sur de mettre en doute les qualités de cette personne, mais pensez vous avoir les qualifications pour déclarer un fichier Hyper-protégé alors que vous nous dites être nul en VBA?
    Bien loin de moi l'idée de vous importuner, mais il y a sur ce site des professionnels qui vous ont répondus(je ne parle pas de moi bien sur). Je comprend votre déception, mais il est important que vous compreniez qu'un professionnel à des devoirs vis à vis de sa clientèle.
    Cordialement

  17. #17
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Par défaut
    Bonjour,
    Citation Envoyé par return2022 Voir le message
    1) Je sais que je suis nul en VBA, je l'ai précisé à plusieurs reprises
    2) J'ai eu, il y a 11 ans (pas 10 comme je l'ai mentionné un peu vite) un fichier hyper-protégé par un spécialiste. Donc je sais que c'est possible.
    Ne comprends-tu pas l'incohérence de tes propos entre le 1) et le 2) ?
    Ne devrais-tu pas nuancer ton affirmation en disant « je crois que c'est possible » !!!
    On s'époumone (c'est de saison) à te dire le contraire. En 35 ans de pratique d'Excel, je n'en ai jamais vu !

  18. #18
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    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 : 16 037
    Par défaut
    Citation Envoyé par return2022 Voir le message
    Mais à ce jour, je suis plutôt tombé sur des experts en lieux communs qui m'apprennent des choses que je sais déjà (aucune sécurité n'est inviolable; il faut apprendre à marcher avant de courir, ...)
    Je t'ai donné une solution correspondant à ta demande dans ma première réponse.
    Ca correspond au code que tu as présenté. Ce code indique clairement dans ses commentaires où doit être placé l'action en cas de dépassement.
    Comme action, je t'ai déjà indiqué que tu pouvais utiliser ThisWorkbook.Close, l'aide VBA Excel t'en dira plus sur cette méthode.

    Et comme je préfère m'éclipser quand les noms d'oiseaux commencent à voler, ce sera ma dernière réponse.

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/09/2018, 17h44
  2. comment deverouiller mon fichier excel?
    Par obydissonn dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 21/03/2007, 18h37
  3. [VBA-E] une macro qui enregistre mon fichier Excel
    Par Djohn dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 02/03/2007, 11h47
  4. updater des données dans mon fichier excel
    Par gantec dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 26/02/2007, 16h01
  5. [Excel] perte de l'extension de mon fichier Excel
    Par comme de bien entendu dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/07/2006, 18h12

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