Désactiver un formulaire en VB [Résolu]

PaPy36 25 Messages postés dimanche 11 février 2007Date d'inscription 28 avril 2013 Dernière intervention - 22 mars 2012 à 16:22 - Dernière réponse : PaPy36 25 Messages postés dimanche 11 février 2007Date d'inscription 28 avril 2013 Dernière intervention
- 25 mars 2012 à 09:35
Bonjour,
Je souhaite que l'on puisse désactiver successivement plusieurs formulaires d'un même document "informatisé":
1-Le 1er formulaire du document est renseigné puis désactivé pour protéger son contenu.
2-Le document est envoyé par messagerie à un destinataire,
3-Le destinataire, tenant compte des infos du 1er formulaire, apporte ses réponses sur le 2éme formulaire du document qui lui est proposé.
4-Celui-ci désactive ensuite ce 2éme formulaire du document et
5-renvoit le document par messagerie à l'expéditeur.
Le but de ces désactivation est de rendre non modifiable le contenu des formulaires renseignés par plusieurs personnes.
Je suis bien sûr disposé à répondre à des demandes de précision sur un tel cahier des charges.
Je vous remercie pour les infos que vous pourriez m'apporter à ce sujet.
NB J'ai réussi la gestion d'un tel document "Informatisé" Excel sous VBA mais je crains un manque de robustesse de mon code lorsqu'il transite par la messagerie Internet !
Pierre SIENER dit Papy36 le 22 mars 2012
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Utilisateur anonyme - 24 mars 2012 à 04:06
3
Merci
Bonjour,

Je suis probablement la pire personne à pouvoir agir devant cette question parce que j'ai abandonné VB6 depuis longtemps et que je ne l'ai pas réinstallé, mais j'avoue que je suis intrigué.

Je me demande si ce ne serait pas juste suffisant de générer programmatiquement des documents au format PDF. Il existe plusieurs programmes gratuits qui le pertmettent d'une façon ou l'autre.

Ceci dit, pour la question elle-même :

1) Parle-t-on vraiment d'un nouveau développement en VB6, d'une nouvelle version d'une application en VBA, ou d'une application en VB.net ? (Je dis cela parce que VB 2010 Express est disponible gratuitement et qu'il est somme toute supérieur à VB6)

2) Parle-t-on d'un document unique qui se "promène" parmi plusieurs personnes et chaque personne a un accès limité à certaines sections du document ?

Quoi qu'il en soit, cela me semble être un gros contrat.

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Meilleure réponse
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 24 mars 2012 à 06:59
3
Merci
Bonjour,

J'ai également des difficultés à comprendre de quoi il retourne exactement.

J'ai pour l'instant l'impression (mais ce n'est qu'une impression) de ce que :
- tu développes sous VBA/Excel et non sous VB6
- que tu désignes par "formulaires" des feuilles Excel
- que ce que tu appelles "document" est un classeur Excel
Est-ce cela ?
Je ne comprends par contre pas du tout ce que tu veux dire par :
mais je crains un manque de robustesse de mon code lorsqu'il transite par la messagerie Internet

Le code dont est assortie une appli (classeur Excel ou programme VB6) n'est pas altéré au cours de l'envoi en pièce jointe de l'appli en cause.
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient

Merci ucfoutu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de ucfoutu
Meilleure réponse
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 24 mars 2012 à 16:34
3
Merci
Peut-on voir le code de l'évènement Workbook_open ?
Il est toujours possible de protéger une feuille tout en permettant la lecture d'une cellule !
13-« ? n'est pas altéré au cours de l'envoi en pièce jointe de l'appli en cause. » : en fait je fais transiter le classeur en entier.

ne justifie normalement aucune altération ! Comment le transfères-tu donc, exactement ?
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient

Merci ucfoutu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de ucfoutu
Meilleure réponse
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 24 mars 2012 à 16:40
3
Merci
Autre question : quelle est ta version Office et quelle est la version office des autres utilisateurs ?
Car, évidemment : si la tienne est supérieure à l'un d'entre eux, ce dernier ne saurait ouvrir ton classeur.
Si tel est le cas, il te faut "dégrader" ton propre classeur, ansi : ===>>>


Fichier ===>> Enregistrer sous ===>> type de fichier ===>>> Excel 1997-2003 (.xls)
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient

Merci ucfoutu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de ucfoutu
Meilleure réponse
Utilisateur anonyme - 24 mars 2012 à 18:10
3
Merci
Bonjour,

Si ton destinataire a mis ses paramètres de sécurité d'Excel pour bloquer toutes les macros, ou pour, à un niveau moindre, bloquer les macros non signées électroniquement; il est vraisemblable que le workbook_open, ou toute autre macro plante également.

Tu peux essayer de faire ton propre certificat électronique (Selfcert.exe ou makecert.exe, ou en passant par les outils Microsoft Office du menu Démarrer) et l'appliquer à ton projet. Ensuite envoie ton classeur à un destinataire qui va ajuster son Excel pour pouvoir exécuter les macros signées électroniquement. Si cela fonctionne, tu vas sans doute devoir te procurer un certificat "officiel" auprès d'une compagnie comme Verising. Il faudra les payer, mais c'est peut-être un moindre mal.

Pour en revenir à la question originale, on peut désactiver un formulaire, ou un contrôle en mettant la propriété Enabled à false, ou même, le faire disparaîtr en mettant la propriété Visible à False. Pour autant que ces propriétés soient disponibles.

Finalement, pour autant que je me souvienne, il y a des exemples tout faits de manipulation des fichiers PDF (en anglais cependant) sur le site de [www.codeproject.com Code Project]

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Meilleure réponse
Utilisateur anonyme - 25 mars 2012 à 04:02
3
Merci
Bonjour,

Je vous signale en plus que l'un des adhérents, et il n'est pas forcément le seul, possède OpenOffice.Org 2000-2010 Oracle ! Alors là je ne sais pas si cela fonctionnera car je n'ai pas encore testé !

Ca ne marchera sûrement pas. Open Office est doté d'un BASIC différent et incompatible avec VB-VBA

6-Une nouvelle question : comment ferriez-vous pour défendre vos applis et conserver la propriété intellectuelle de ce que vous développez ? Je pense en effet que cette application des Formulaires Informatisés Protégés mériterait, peut être, avant diffusion de faire l'objet d'une protection dite juridique. Qu'en pensez-vous ? Quels sont les moyens ?

Là je ne peux décemment pas m'avancer. Je n'habite pas en France et je ne connais pas le droit Français. Au Canada, l'existence de l'oeuvre suffit à établir les droits de l'auteur. L'enregistrement est facultatif. Mais, généralement, sauf convention contraire entre les parties concernées, le droit d'auteur appartient à l'employeur quand l'oeuvre est produite au travail. Mais, cela peut-être différent en France.

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
PaPy36 25 Messages postés dimanche 11 février 2007Date d'inscription 28 avril 2013 Dernière intervention - 24 mars 2012 à 16:13
0
Merci
Bonjour cmarcotte et ucfoutu,
Merci pour votre intervention appréciée.
Je réponds globalement à vos questions :
1-« Parle-t-on vraiment d'un nouveau développement en VB6 ? » Non , j'avais VB6, en souvenir, sous les "doigts", !
2- merci pour cette info concernant VB 2010 Express dont j'ignorais l'existence !
3-En effet, si pour des problèmes de portabilité de l'appli sous Excel, problèmes de version d'Excel, on pourrait alors envisager de développer, par exemple, en VB 2010 Express; mais je ne le connais pas !
4-« Parle-t-on d'un document unique qui se "promène?" Oui
5-« ?chaque personne a un accès limité à certaines sections du document ? : Oui
6-« Quoi qu'il en soit, cela me semble être un gros contrat. » : non L'appli est développée sous Excel/VBA, et actuellement en phase de mise au point, pour une association aux moyens limités !
7-« tu développes sous VBA/Excel et non sous VB6 » : Oui
8-« tu désignes par "formulaires" des feuilles Excel « : Oui
9-« ce que tu appelles "document" est un classeur Excel » : oui
10- ? mais je crains un manque de robustesse ? : Oui car j'ai rencontré des pb après transit par email. En fait je pense que cela est dû à "Workbook_Open" qui tente de sélectionner une cellule dans une sheet protégée.
11-Cette cellule sélectionnée me sert à « décharger » le bouton qui permet de valider une feuille. Il faut que je sorte cette commande de Workbook_Open qui est actif au chargement, à l'ouverture du classeur et qui peut alors agir sur une feuille protégée et planter le code ! Mais où la placer ?
12-« ? générer programmatiquement des documents au format PDF » peut-être mais je ne sais pas faire !
13-« ? n'est pas altéré au cours de l'envoi en pièce jointe de l'appli en cause. » : en fait je fais transiter le classeur en entier.
Encore merci pour votre précieuse aide et bon WE
Papy36
Commenter la réponse de PaPy36
Utilisateur anonyme - 24 mars 2012 à 20:53
0
Merci
Bonjour,

Le lien vers Code Project de mon message précédent ne fonctionne pas. (Je pense que c'est parce que j'avais oublié le http://)
Commenter la réponse de Utilisateur anonyme
PaPy36 25 Messages postés dimanche 11 février 2007Date d'inscription 28 avril 2013 Dernière intervention - 25 mars 2012 à 00:01
0
Merci
Bravo ucfoutu et cmarcotte pour votre réactivité et votre célérité !
1-« Peut-on voir le code de l'évènement Workbook_open ? » : après analyse et tests ce sont une série de ClearContents qui sont à l'origine du plantage lorsque la feuille est protégée. Alors je pense avoir résolu le pb en testant la protection de feuille dans Workbook_Open et ne lançant l'éxécution de ces instructions que si la feuille est vierge de tous renseignement donc non protégée !
2- Je transfère le classeur en le plaçant en pièce jointe du message à envoyer.
3-Les versions d'Excel: à ma connaissance il y en a trois variantes utilisées dans notre asso :
MS Excel 1997 sous Windows 95, Excel 2000 sous Windows XP et MSOffice Excel 2007 !
Je vous signale en plus que l'un des adhérents, et il n'est pas forcément le seul, possède OpenOffice.Org 2000-2010 Oracle ! Alors là je ne sais pas si cela fonctionnera car je n'ai pas encore testé !
4-Pour la certification électronique je n'ai aucune pratique. On a mis l'activation des macros à l'ordre du jour avec proposition d'une procédure supposée valable et suffisante. Elle consiste à pointer sur le niveau de sécurité moyen(Outils/Macros/Sécurité/Niveau de Sécurité moyen).
5-Je vais faire, je l'espère, bon usage de toutes vos informations qui ont remplis ma besace ! Encore merci d'un fortran-iste !
6-Une nouvelle question : comment ferriez-vous pour défendre vos applis et conserver la propriété intellectuelle de ce que vous développez ? Je pense en effet que cette application des Formulaires Informatisés Protégés mériterait, peut être, avant diffusion de faire l'objet d'une protection dite juridique. Qu'en pensez-vous ? Quels sont les moyens ? Voilà ce qui me vient à présent à l'esprit.
Cordialement et bon dimanche
Papy36
Commenter la réponse de PaPy36
PaPy36 25 Messages postés dimanche 11 février 2007Date d'inscription 28 avril 2013 Dernière intervention - 25 mars 2012 à 09:35
0
Merci
Bonjour cmarotte et merci pour tes infos
Commenter la réponse de PaPy36

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.