Joindre un userform de demande de mot de passe avec passwordchar * avec un classeur cree depuis un fichier et ad ressé par e mail

Le
Alex
Bonjour tous,

Quelqu'un aurait-il une solution mon problme, et m'en explique :

J'ai un fichier gr avec des maros et des userforms, dont un bouton
permet l'dition d'une fiche et propose aussi l'envoi de cette fiche
par e-mail.
Si la personne rpond OUI, alors cette fiche est copie dans un
nouveau classeur et adresse automatiquement par mail au correspondant
dfini.
Le correspond recoit le fichier cre, et peut alors en cliquant sur un
bouton, signer cette fiche en saisissant un mot de passe. (Macro coll
sur la feuille)
Mon souci est que le userform que j'avais cre pour saisir le mot de
passe avec passwordchar * n'est pas joint avec le fichier.
Pour palier le problme j'ai remplac le userform par une inputbox,
mais du coup je perd la possibilit de saisir le mot de passe avec les
*.
Comment puis-je faire pour joindre avec ma feuille crer dans le
nouveau classeur le userform saisie d'un mot de passe avec *
Merci par avance de votre aide.
Alex
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #22658051
Bonjour,

Tu as un fichier exemple. http://cjoint.com/?0kixfrQIIKi

Lorsque tu édites une fichier dans un nouveau classeur,
tu appelles la macro : "CopieCodeModule" qui est dans le module1
Il va copier tout le code situé dans le module "CodeACopier" dans
le ThisWorkbook que tu viens de créer et il va même jusqu'à protéger
le code de ce nouveau classeur par un mot de passe "toto". Le mot
de passe sera en vigueur à la réouverture du classeur seulement.

Lorsque tu ouvriras ce nouveau fichier, tu seras appelé à saisir le mot
de passe pour y avoir accès. Ce mot de passe est aussi "toto" sinon
le classeur se referme.

À toi maintenant de t'amuser un peu !




--
MichD
--------------------------------------------


"Alex"
Bonjour à tous,

Quelqu'un aurait-il une solution à mon problème, et m'en explique :

J'ai un fichier géré avec des maros et des userforms, dont un bouton
permet l'édition d'une fiche et propose aussi l'envoi de cette fiche
par e-mail.
Si la personne répond OUI, alors cette fiche est copiée dans un
nouveau classeur et adressée automatiquement par mail au correspondant
défini.
Le correspond recoit le fichier crée, et peut alors en cliquant sur un
bouton, signer cette fiche en saisissant un mot de passe. (Macro collé
sur la feuille)
Mon souci est que le userform que j'avais crée pour saisir le mot de
passe avec passwordchar * n'est pas joint avec le fichier.
Pour palier le problème j'ai remplacé le userform par une inputbox,
mais du coup je perd la possibilité de saisir le mot de passe avec les
*.
Comment puis-je faire pour joindre avec ma feuille créer dans le
nouveau classeur le userform saisie d'un mot de passe avec *
Merci par avance de votre aide.
Alex
michdenis
Le #22658041
Le code doit OBLIGATOIREMENT être exécuté par l'appel de la procédure
"CopieCodeModule" via l'interface de calcul ou lorsque cette fenêtre est
visible.

--
MichD
--------------------------------------------
michdenis
Le #22659551
Voici une nouvelle version du fichier avec de légère modification :
http://cjoint.com/?0kjnXFNKBtC

--
MichD
--------------------------------------------


"michdenis" Bonjour,

Tu as un fichier exemple. http://cjoint.com/?0kixfrQIIKi

Lorsque tu édites une fichier dans un nouveau classeur,
tu appelles la macro : "CopieCodeModule" qui est dans le module1
Il va copier tout le code situé dans le module "CodeACopier" dans
le ThisWorkbook que tu viens de créer et il va même jusqu'à protéger
le code de ce nouveau classeur par un mot de passe "toto". Le mot
de passe sera en vigueur à la réouverture du classeur seulement.

Lorsque tu ouvriras ce nouveau fichier, tu seras appelé à saisir le mot
de passe pour y avoir accès. Ce mot de passe est aussi "toto" sinon
le classeur se referme.

À toi maintenant de t'amuser un peu !




--
MichD
--------------------------------------------


"Alex"
Bonjour à tous,

Quelqu'un aurait-il une solution à mon problème, et m'en explique :

J'ai un fichier géré avec des maros et des userforms, dont un bouton
permet l'édition d'une fiche et propose aussi l'envoi de cette fiche
par e-mail.
Si la personne répond OUI, alors cette fiche est copiée dans un
nouveau classeur et adressée automatiquement par mail au correspondant
défini.
Le correspond recoit le fichier crée, et peut alors en cliquant sur un
bouton, signer cette fiche en saisissant un mot de passe. (Macro collé
sur la feuille)
Mon souci est que le userform que j'avais crée pour saisir le mot de
passe avec passwordchar * n'est pas joint avec le fichier.
Pour palier le problème j'ai remplacé le userform par une inputbox,
mais du coup je perd la possibilité de saisir le mot de passe avec les
*.
Comment puis-je faire pour joindre avec ma feuille créer dans le
nouveau classeur le userform saisie d'un mot de passe avec *
Merci par avance de votre aide.
Alex
michdenis
Le #22659781
Oublier tout ce qui précède... il est impossible de créer un formulaire à la volée si le projetVBA est protégé.

Cependant, on peut faire ceci : http://cjoint.com/?0kjo7gdwgBv

Le bouton "créer un module" fait 3 choses
A ) ajoute un formulaire (userform) au niveau classeur
B ) ajoute le code nécessaire pour le formulaire
C ) ajoute du code dans le ThisWorkbook du nouveau classeur

Évidemment, l'usager doit activer les macros pour que le formulaire s'ouvre à l'ouverture du classeur.
Sinon, il est possible d'ajouter du code pour "forcer" l'usager à activer les macros.

--
MichD
--------------------------------------------


"michdenis" Voici une nouvelle version du fichier avec de légère modification :
http://cjoint.com/?0kjnXFNKBtC

--
MichD
--------------------------------------------


"michdenis" Bonjour,

Tu as un fichier exemple. http://cjoint.com/?0kixfrQIIKi

Lorsque tu édites une fichier dans un nouveau classeur,
tu appelles la macro : "CopieCodeModule" qui est dans le module1
Il va copier tout le code situé dans le module "CodeACopier" dans
le ThisWorkbook que tu viens de créer et il va même jusqu'à protéger
le code de ce nouveau classeur par un mot de passe "toto". Le mot
de passe sera en vigueur à la réouverture du classeur seulement.

Lorsque tu ouvriras ce nouveau fichier, tu seras appelé à saisir le mot
de passe pour y avoir accès. Ce mot de passe est aussi "toto" sinon
le classeur se referme.

À toi maintenant de t'amuser un peu !




--
MichD
--------------------------------------------


"Alex"
Bonjour à tous,

Quelqu'un aurait-il une solution à mon problème, et m'en explique :

J'ai un fichier géré avec des maros et des userforms, dont un bouton
permet l'édition d'une fiche et propose aussi l'envoi de cette fiche
par e-mail.
Si la personne répond OUI, alors cette fiche est copiée dans un
nouveau classeur et adressée automatiquement par mail au correspondant
défini.
Le correspond recoit le fichier crée, et peut alors en cliquant sur un
bouton, signer cette fiche en saisissant un mot de passe. (Macro collé
sur la feuille)
Mon souci est que le userform que j'avais crée pour saisir le mot de
passe avec passwordchar * n'est pas joint avec le fichier.
Pour palier le problème j'ai remplacé le userform par une inputbox,
mais du coup je perd la possibilité de saisir le mot de passe avec les
*.
Comment puis-je faire pour joindre avec ma feuille créer dans le
nouveau classeur le userform saisie d'un mot de passe avec *
Merci par avance de votre aide.
Alex
Alex
Le #22662871
Bonjour Michel,
Merci pour ces réponses.
Etant chez moi, je n'ai pas le fichier pour tout tester, je ferai cela
Lundi, mais malgré tout, des questions me viennent déjà à l'esprit,
est que je peux coller sub CopieCodeModule dans ma macro existante qui
génère l'edition de mon document et la création du nouveau fichier qu i
est adressé par mail ou puis je juste faire un call CopieCodeModule ?
Est ce que je peux supprimer sb ProtectVBProject (car je ne comprends
pas quel est l'interet de proteger ?) ?
Par ailleurs, je voualis en fait que mon userform password ne s'ouvre
qu'après activation d'un bouton qui se trouve sur le classeur envoye
et non pas à l'ouverture, me suffit il de deplacer les lignes de
commande mise sur thisworkbook open sur les lignes de commandes de mon
bouton ?
Sinon comme toujours Michel, vous avez encore solutionné un de mes
problèmes VBA, alors un grand Merci.
Alex
Alex
Le #22662861
Bonjour Michel,
Merci pour ces réponses.
Etant chez moi, je n'ai pas le fichier pour tout tester, je ferai cela
Lundi, mais malgré tout, des questions me viennent déjà à l'esprit,
est que je peux coller sub CopieCodeModule dans ma macro existante qui
génère l'edition de mon document et la création du nouveau fichier qu i
est adressé par mail ou puis je juste faire un call CopieCodeModule ?
Est ce que je peux supprimer sb ProtectVBProject (car je ne comprends
pas quel est l'interet de proteger ?) ?
Par ailleurs, je voualis en fait que mon userform password ne s'ouvre
qu'après activation d'un bouton qui se trouve sur le classeur envoye
et non pas à l'ouverture, me suffit il de deplacer les lignes de
commande mise sur thisworkbook open sur les lignes de commandes de mon
bouton ?
Sinon comme toujours Michel, vous avez encore solutionné un de mes
problèmes VBA, alors un grand Merci.
Alex
michdenis
Le #22663491
A ) Copie tout le code du "Module1" du fichier Exemple dans
un module standard de ton fichier.

B ) Dans la macro qui produit la fiche à expédier,
tu ajoutes la ligne de code :
Call CopieCodeModule
Cette macro demande à l'ouverture du fichier le mot de passe
sinon le fichier se ferme.
Le principe est le même si tu veux lier la macro à l'utilisation d'un bouton.
Pour modifier le code, il faut avoir une description précise de ce que tu
veux...

C ) Si tu ne protège pas le projetVBA avec un mot de passe,
l'usager va avoir accès (en regardant le code) au mot de passe.
Quel sera alors l'utilité de la chose ?

D ) Pour avoir une idée de ce que fait la macro, tu peux la lancer du
fichier exemple. La macro créera un nouveau classeur. Tu enregistres
ce dernier, le ferme et à sa réouverture tu auras la demande du mot de passe
Ce mot de passe est : toto
le mot de passe pour déprotéger le code est MichD (attention à la casse)


--
MichD
--------------------------------------------


"Alex"
Bonjour Michel,
Merci pour ces réponses.
Etant chez moi, je n'ai pas le fichier pour tout tester, je ferai cela
Lundi, mais malgré tout, des questions me viennent déjà à l'esprit,
est que je peux coller sub CopieCodeModule dans ma macro existante qui
génère l'edition de mon document et la création du nouveau fichier qui
est adressé par mail ou puis je juste faire un call CopieCodeModule ?
Est ce que je peux supprimer sb ProtectVBProject (car je ne comprends
pas quel est l'interet de proteger ?) ?
Par ailleurs, je voualis en fait que mon userform password ne s'ouvre
qu'après activation d'un bouton qui se trouve sur le classeur envoye
et non pas à l'ouverture, me suffit il de deplacer les lignes de
commande mise sur thisworkbook open sur les lignes de commandes de mon
bouton ?
Sinon comme toujours Michel, vous avez encore solutionné un de mes
problèmes VBA, alors un grand Merci.
Alex
Alex
Le #22665871
Re Bonjour Michel,

J'ai tenté d'insérer la macro que tu m'as proposé, et j'ai procéd é
comme suit :

A/ J'ai copié l'intégralité du Module1 sur mon fichier dans un nouvea u
module.
B/ J'ai ajouté Call CopieCodeModule dans la macro qui expédie la
fiche, et cela coince dans le module CopieCodeModule au niveau de la
ligne de commande With VBComponents ("ThisWorkbook").codeModule et
j'ai le message suivant :

Erreur d'execution - 2147417848 (80010108)
Erreur Automation
L'objet Invoqué d'est déconnecté de ses clients

Vois tu ce qui peux produire cela ? en plus même en réinitialisant
tout excel est figé je ne peux plus fermé le fichier mis a part en
utilisant le Gestionnaire de fichier en cliquant sur Fin de tache.

Merci par avance de ta réponse.
Alex
Alex
Le #22666031
Re :

J'ai mis http://cjoint.com/?0klly9NgQNR le fichier sans donné
confidentiel, si cela peux aider .
Avec mes remerciements.
Cdt.
Alex
Alex
Le #22666021
Avec mes excuses le bon lien est le suivant : http://cjoint.com/?0kllFezZG4i
Alex
Publicité
Poster une réponse
Anonyme