Supprimer UserForm | ||
---|---|---|
Inscription: 08/12/2008
Messages:
55
Système d'exploitation: PC Version Excel utilisée: 2003 |
Posté le : 16-03-2010 17h46
Bonjour a tous Si j’utilise le code « SuppriUser() » la suppression des 2 UserForm ainsi que le module5 s’effectue correctement. |
|
|
Re: Supprimer UserForm | ||
---|---|---|
Inscription: 12/06/2008
De Ile de France Sud
Messages:
145
Système d'exploitation: PC Version Excel utilisée: 2003 _ 2010 |
Posté le : 16-03-2010 18h50
Bonsoir à tous
Bonsoir beatbles Tu peux essayer ceci : On Error Resume Next Eric |
|
|
Re: Supprimer UserForm | ||
---|---|---|
Inscription: 09/01/2008
De Montréal, Québec
Messages:
463
Système d'exploitation: PC Version Excel utilisée: 97 à 2016 |
Posté le : 16-03-2010 19h45
Bonjour beatbles,
J'ai téléchargé ton classeur SuppUser.xls. Le code ne compile pas, en effet l'instruction : Unload.UserForm2 La chose aurait dû s'écrire Unload UserForm2 Tu cherches à scier la branche sur laquelle tu (m'enfin ton code) es assis avec ... Bref tu cherches à descendre en marche, toujours risqué même pour un pro du volant fut-il Schumacher. Clarifier les actions à prendre en fonction des comportements désirés serait aussi indiqué. Dit autrement : «Think first, code later» Ou plus spécifiquement : Citation : And I would strongly second Joe's opinion that if you're a newbie at VBA and especially if you're a newbie at programming altogether, I'd get quite a bit more coding under my belt before I'd start messing around with programmatically deleting code from projects. Very easy to make a mell of a hess. D'où as-tu copié ces bouts de code, histoire d'y voir plus clair? * Aussi zieuter la section Deleting All VBA Code In A Project du site de Chip Pearson. Cordialement, Guy ____ * Le comp.Type est une énumération Enum vbext_ComponentType If comp.Type < 4 Then La constante littérale 4 placé dans le code indique la frontière de partage des types de modules à supprimer. Et une telle constante ne se devine pas.
Edité par Guy le 16/03/2010 20:00:45
|
|
|
Re: Supprimer UserForm | ||
---|---|---|
Inscription: 08/12/2008
Messages:
55
Système d'exploitation: PC Version Excel utilisée: 2003 |
Posté le : 17-03-2010 14h33
Bonjour a tous
Merçi Guy d'avoir jeter un oeil a ma question. Pour le point entre unload et User.. excuse moi je l'ai oublier en le recopiant, car j'ai essayer tellement de fois. Je serais plus dire ou j'ai trouver les lignes de code , je l'ai avait mis de cote pour qu'en le besoin s'en ferais sentir. Mon désir est que quand le premier userForm auras fait son travaille ainsi que le second, on efface User et module et que l'on enregistre le programme telle quelle. On retrouvera la page Excel mes plus de code VBA, peut être devrait il reste un module ne contenant que le code d'enregistrement. J'ai pris note du site dont tu m'as mis l'adresse . J'espére Guy n'avoir pas étais trop brouillons? Bonne journée |
|
|
Re: Supprimer UserForm | ||
---|---|---|
Inscription: 09/01/2008
De Montréal, Québec
Messages:
463
Système d'exploitation: PC Version Excel utilisée: 97 à 2016 |
Posté le : 17-03-2010 16h58
Bonjour beatbles,
Brouillon certainement, embrouillé identiquement. Mais, bon, l'important est d'arriver à quelque chose. Pour ce faire je te propose une autre avenue qui évite de tomber en sciant la branche sur laquelle tu es assis. Le classeur original SuppUser.xls porte trois modules dont tu veux te débarrasser à savoir :
Si on porte ces modules dans un autre classeur et que ce classeur est un addin ou complément les choses sont, ce me semble, plus simples. Évidemment il faudrait avoir des indications plus précises sur le contexte où sera utilisé ce, ces classeurs pour raffiner ou modifier la méthode. Tout traitement de données effectuées dans le classeur SuppUser.xls est effectué dans le classeur SuppUser.xla. Le classeur à traiter (SuppUser.xls) ne porte qu'un seul module modTraiter et qu'une seule procédure dont il n'est nul besoin de se débarrasser. Option Explicit La fonction Traiter() du classeur de traitement a été tiré de ton code et se lit comme suit : Option Explicit Tu pourras modifier, augmenter et corriger tout ce que tu voudras dans le code sans risquer de te casser le coup en tombant. Évidemment si tu as d'autres questions ou quelques objections sur la méthode utilisée je suis toujours au bout de la toile Cordialement, Guy |
|
|
Re: Supprimer UserForm | ||
---|---|---|
Inscription: 08/12/2008
Messages:
55
Système d'exploitation: PC Version Excel utilisée: 2003 |
Posté le : 18-03-2010 14h36
Bonjour a tous
Et merçi encore a Guy pour le mal qu'il se donne pour m'aider. Je vois que ce que je demande n'est pas simple, et que vous partez vers des réponses qui ne vont pas dans ce que je cherche. Aussi je me demander ne serait il pas plus simple , si cela est possible de suprimer complément le programme "SuppUser" , aprés l'affichage des 2 UserForms. De maniére également que l'on puisse pas non plus récupérer le programme dans la corbeille.C'est une sorte de sécurité contre les curieux que je désire installé. Bonne journée a tous |
|
|
Re: Supprimer UserForm | ||
---|---|---|
Inscription: 09/01/2008
De Montréal, Québec
Messages:
463
Système d'exploitation: PC Version Excel utilisée: 97 à 2016 |
Posté le : 18-03-2010 18h33
Bonjour beatbles,
As-tu testé la solution proposée? Citation : vous partez vers des réponses qui ne vont pas dans ce que je cherche Tu cherches à supprimer du code pour le soustraire à la vue indiscrète de copieurs de code Citation : C'est une sorte de sécurité contre les curieux que je désire installé. Pour ce faire la solution proposé présentait un classeur dépourvu de code! Un simple mot de passe pour ce code ne suffirait-il pas? Je sais bien, très bien même, que ce genre de protection est cassable en deux tours de cuiller à pot mais je sais tout aussi bien que la chose n'est pas à la portée du premier usager ou codeur venu. D'autant que le code en question ne refera pas la théorie des automates programmables ni le fondement de la complétude de Turring. En plus des liens proposés hier, voici l'avis d'un autre codeur «Thanks, but for same reson it doesn't work anyway. The cursor goes through all lines but same Forms/Modules aren't erased.» au www.xtremevbtalk.com/archive/index.php/t-141844.html . Alors essayons quelque chose d'autre : Dans code du classeur SuppUser.xls établir une référence à VBIDE. Pour ce faire menu Outils/Références... formulaire Références - VBAProject fouiller pour trouver dans la liste Microsoft Visual Basic for Applications Extensibility 5.3. Une fois cette référence ajoutée au projet VBA, porter cette modification au code de la procédure RemoveComponent()
Sub RemoveComponents() Dim comp As VBComponent On remarquera que cette fois le code exécuté dans le module5 ne supprime pas le code exécuté dans le module5 (la redite est fortement volontaire). Seulement les lignes de code des deux, ou de quelconque, formulaires sont supprimées. À l'exécution de la procédure Lance() et suite à la réouverture du classeur le code du module5 est intact, les formulaires UserForm2 et vUser sont toujours là mais ne portent plus aucun code, aucun. Et il n'est nullement à craindre que Citation : De maniére également que l'on puisse pas non plus récupérer le programme dans la corbeille. Teste la chose et donne m'en des nouvelles. Il y a sans doute trente-six autres moyens de faire ce que tu cherches à faire. Nous y allons par élimination. Cordialement, Guy P.S. À noter que je viens juste de passer de membre régulier à membre semi-pro alors faut pas trop m'en demander...
Edité par Guy le 18/03/2010 18:50:20
|
|
|
Re: Supprimer UserForm | ||
---|---|---|
Inscription: 08/12/2008
Messages:
55
Système d'exploitation: PC Version Excel utilisée: 2003 |
Posté le : 20-03-2010 10h45
Bonjour Guy J’ai testé la solution que tu me proposé, seulement il faudrait que je sois sur que personne ne supprime la XLA, ensuite je serais pas toujours la pour la réinstallé ; si non cela était Bon. Pour ce qui est de la protection, j’ai regarder mes ne l’ai pas retrouvez, un internaute démontrer que le fais de changer une valeur supprimer la protection. Je ne sais pas si tu as vue cela, si je retrouve l’article je vous l’enverrais a moins que vous ne l’ayez déjà. Pour le site en anglais je vais essaye de comprendre ce qu’il disait, car je maîtrise pas du tout l’anglais. Google me le traduira. Par contre la dernière solution que tu me donne, elle convient très bien, ce n’était pas à un copieur de code dont j’ai à faire, mes un personne malfaisante, qui entre est modifie des valeurs ce qui dérégler la marche de petit programme fait pour nous simplifié le travail. Comme cela quand il entrera le code ne sera plus la, mes pas modifier. Donc en grand merci pour ton aide. Et aussi toutes mes félicitations pour ta progression a membre semi pro beatbles |
|
|