Supprimer une macro par la macro d'archivage
Bonjour a tous
Je bosse sur un de comptabilité personnel pour un pote et sa compagne
Le fichier en soit est fonctionnel sans doute perfectible mais fonctionnel
J'ai trouvé en creusant un système d'ouverture personnalisé
Ce qui fait lors de leur accès ils ont une vision sur la feuille du compte commun ainsi qu'a leur compte perso
Et dans l'idée ca permettrait d'avoir un système de compta qui soit confidentiel pour l'un comme pour l'autre, dans l'idée ca permet si l'un fait un cadeau a l'autre de ne pas voir combien il l'a payé par exemple, et surtout que chacun est son compte perso snas que l'autre est une vue dessus a minima l'année en cours.
Sur la feuille de décembre j'ai recyclé une macro que j'avais pour archiver
Lors de l'exécution de celle ci , elle convertie toutes les formules en données brutes, affiche toutes les feuilles, fait un retour a la de janvier (juste pour ne pas avoir le retour sur la feuille précédente, et appel une feuille model pour être utilisé l'année d’après
Et qui puisse être utiliser d'une année sur l'autre, avec genre aprés sur la feuille de janvier aller chercher les résultats de l'année précédente,mais pour cela il ne faut plus l'accés par code.
j'aimerai que ce soit transparent pour l'utilisateur que tout ce fasse seul , j'ai quand même mis des messagebox a chaque etape car ca peut
etre un peu long histoire pour eviter de penser que ca a planté
Mais Impossible de réussir à supprimer le module contenant la Macro qui permet sert a "l'authentification" des personnes pour le classeur qui sera archivé.
j'ai aussi tenter de mettre toutes les macro dans le même module pour eviter de passer par la sauvegarde du module
ca fait quelques jour que je fait des essais mais je n'y arrive pas
Pour ceux qui aurai des idées, et j'accepte les explications car je n'y connais pas grand chose pour pas dire rien
dans la bienveillance bien évidemment
Vous trouverez ci joint un fichier anonymisé avec des sommes bidons et justes quelques feuilles pour eviter d'avoir un fichier trop lourd
pour ceux qui veulent voir
Utilisateur: Admin Mot de passe: AdminMDP
Utilisateur:Toto Mot de passe:TotoMDP
Utilisateur:Tata Mot de passe:TataDMP
Meri d'avance a tous le monde
Bonjour nobodyuse
Outre le fait que je trouve ça très étrange comme relation
Il est simple de supprimer toutes les macros d'un classeur, il suffit de l'enregistrer au format ".xlsx"
A+
Bonjour JExceL2fr
En effet moi aussi un peu mais c'est leur mode de fonctionnnement et ce sont mes aùis alors je ne juge pas meme si je peu trouver ca bizarre, les deux etant ex divorcé sans doute veulent il se proteger....
Effectivement c'est une solution que je n'ai pas tester, mais la macro est un peu batarde et se ferme sur un page acceuil non visible (visible seulement au moment de l'authenttification)
Je prefererai vraiment supprimer le module et/ou la macro et tout ce qui s'y refere...
Mais estce vraiment possible au moins ...
bonjour nobodyuse, JExcel2fr,
la protection d'excel ne vaut rien, à mon avis, il faut séparer tout en 3 fichiers, chaqu'un ses propres données et puis un fichier commun.
La macro est elle meme normalement protegé par un code, de toute façon l'un est l'autre ne sont pas dans l'idée de "pirater" pour aller voir les dépenses de l'autres
il veulent juste un peu de confidentialité comme par exemple lors d'un anniversaire pouvoir dépenser sans que l'autre le sache.
il ne sont pas dans l'optique d'utiliser 3 fichiers justement a cause des renvoie d'un compte a l'autre,
ex chacun reçoit sa paie sur son propre compte, puis ils alimente les compte joint de maniere proportionnel a leur salaire
et le reste est pour eux et ils en font ce qu'ils veulent mais selon les cas doivent alimenter le compte joint pour les differentes dépenses liés au compte joint... enfin dans l'idée c'est ca en résumé.
C'est pas vraiment le sujet pour autant
La question de supprimer le module et/ ou la macro est toujours en suspend, il est même possible de supprimer toutes les macro et les boutons, la macro d'archivage n'ayant plus d’utilité une fois utilisé.
Bonjour
Si vous parlez de ça "Mais Impossible de réussir à supprimer le module contenant la Macro qui permet sert a "l'authentification" des personnes pour le classeur qui sera archivé."
Je vous ai donné la solution, mais peut être ne vous convient elle pas
Mais dans ce cas dites le
A+
Merci JExceL2fr
Donc impossible de supprimer un module, d'accord j'ai regardé un peu aujourd’hui en ce sensans reussir a changer l'extension automatiquement lors de la fermeture
Alors comment automatiser le changement lors de la sauvegarde automatique,
De plus l'ouverture du fichier merde une fois sur deux et me dit qu'il ne trouve pas le fichier "MODEL_Compta-Toto&Tata.xltm"
' Ouverture d'un fichier
MsgBox ("Ouverture de votre fichier pour l'année a venir!")
Workbooks.Open "MODEL_Compta-Toto&Tata.xltm"
Application.ScreenUpdating = True
MsgBox "Convertion des données terminé merci d'avoir patienté " ' messagebox fin du process de convertion
' Fermeture du document en cours
Workbooks(1).Close savechanges:=True
Re,
Ce n'est pas ce que j'ai dis, simplement qu'il y a plus simple et moins "dangereux"
Pour la suppression d'un module nommé "Module1"
Sub Supprimermodule ()
On Error Resume Next
With ActiveWorkbook.VBProject
.VBComponents.Remove .VBComponents("Module1")
End With
On Erro Goto 0
End SubA+
JExceL2fr n'y connaissant pas beaucoup je prend humblement vos conseil a tous
mon idée de base été de faire sauter le module histoire d'automatiser l'ensemble
Mais comme je t'ai dit je suis ouvert meme a la solution de la sauvegarde en .xls
mais je n'y ai pas reussi non plus, et malheurssement ca m'a permis de voir que l'appel du nouveau ne fonctionne qu'une seule fois et aprés c 'est fini :/
j'ai l'impression que toute la fin est a revoir :/
Je vais tester ta solution, bien qu'il me semble l'avoir deja trouvé et testé mais je peux me trompé en en ayant trouvé et testé plusieurs avant de demandé a l'aide
je reste ouvert a tous
et si quelqu'un a une idée pour l'appelle du fichier qui ne marche q'une seule fois
PS: je sais que ca avais posé probleme dans la passé je suis sous Mac
Premier teste en uintegrant le code dans ma macro de cette facon
Ouverture d'un fichier
MsgBox ("Ouverture de votre fichier pour l'année a venir!")
Workbooks.Open "MODEL_Compta-Toto&Tata.xltm"
Application.ScreenUpdating = True
MsgBox "Convertion des données terminé merci d'avoir patienté " ' messagebox fin du process de convertion
' Supprime la macro Protection
On Error Resume Next
With ActiveWorkbook.VBProject
.VBComponents.Remove .VBComponents("Module1")
End With
On Erro GoTo 0
' Fermeture du document en cours
Workbooks(1).Close savechanges:=True
Excel me mets une alerte sur la partie et n'en veux pas
On Erro GoTo 0je vous ai mis le fichier pour que vous puissiez avoir une vu d'ensemble
Bonjour,
Si vous ne savez pas pourquoi le code s'arrête sur cette erreur de frappe
Je ne suis pas ici pour former les demandeurs à l'utilisation du VBA
Bonne chance
PS : le bons code est "On Error Goto 0"
j'ai juste recopié bêtement ce que vous m'avez écris plus haut en vous faisant confiance,
je n'ai pas vérifié s'il y avais ou non une erreur de frappe.
Malgré la correction, pas d'erreur mais le module ne disparait pas,
j'en reviens a votre proposition de l'enregistrement en XLS qui effectivement semble plus simple...
Quoique n'ayant pas reussi hier a enregistrer en changeant juste l'extension, j'ai réussi a créer un double du fichier avec l'extension voulu mais pas a enregistrer le fichier lui même en changeant l'extension.
Merci quand même pour votre aide,
vous savez tous le monde n'a pas un bon niveau, ni la chance d'avoir été formé, mais certain comme beaucoup essaient d'apprendre mais on besoin d'aide.
Une Aide n'est pas forcement une formation !
J'avais précisé dés le début que j’étais débutant
on commence tous un jour, pour ma part j'ai commencé tout seul sans formation ni connaissance, c''est pour cela que j’avais aussi mis dans la bienveillance, peut être aurai je du plutôt dire patience
Bonsoir Nobodyuse, le Fil,
Je viens de regarder l'ensemble du fil. Mais ce n'est pas seulement un souci de code mais surtout un choix de conception qui semble incohérent.
Si le fichier commun aux deux personnes portant les macros dispose d'une feuille commune et de feuilles personnelles séparées. Apparemment on ne peut archiver que la partie commune et non les autres puisque le fichier d'archive ne disposera d'aucune macros. Et donc aucune authenfication.
Car sinon n'importe quelle personne verra forcément les dépenses personnelles de l'autre.
Le mieux est plutôt de prévoir éventuellement pour chacun sur une ligne la somme globale de leur dépenses personnelles dans la partie commune. Ainsi aucun détail ne sera dévoilé à l'autre. Tandis que les lignes de chacun dans la partie commune seront elles détaillées.
Je suppose maintenant que la sauvegarde réalisera pour chacun un fichier personnel ou sera contenue aussi bien la partie commune que celle personnelle. Donc 2 fichiers d'archive mais sur clé USB ou disque externe de chacun. Et le mieux ces éléments de stockage externes seront protégés par leur propre code personnel. Ainsi même l'autre ne pourra y avoir accès et les fichiers peuvent être en xlsx, donc surtout aucune macro dans les fichiers archives. Ne pas faciliter la vie aux hackers, et ouvrir les archives sur un autre Pc sans accès réseau.
Enfin pour la clôture du fichier avec macros placer une ligne de code de temporisation. Car l'écriture prend du temps. Alors que le code de fermeture est immédiatement réparé par VBA. D'où les problèmes que tu rencontres.
Salut X Cellus
Ils on un fonctionnement particulier mais le fichier qui deviens un fichier d'archivage n'a plus a être séparé, heuresement encore
sinon la seule solution aurai été qu'ils ai un fichier chacun.
De son coté mon pote reflechis et s'est quand même rendu compte que faire une feuille par personne ca fait vite beaucoup de feuille,
Ma solution reste viable pour eux.
Mais ils plain de trucs a ajouter encore tout comme le moyen de paiement etc ...trop de trucs et inutile a mon avis
je reflechis a leur mettre la partie Compte commun et leur compte perso sur une seule feuille ca enleverai des pages et ca ne ferais pour eux que 12 pages
faut il encore que ce que chacun entre sur le compte commun soit bien reporté sur la page de l'autre...
et encore ils vas falloir rajoutent leur trucs bizarre liée a leur fonctionnement
Mais tant que je ne finalise pas et bloque sur l'enregistrement en xls ou xlsx, puisqu'il semble plus compliqué de virer les macros...
Et encore moi je suis sous mac j'ai encore des bizarrerie qu'ils n'auront pas
Comme l'appel de la feuille modèle qui se mets en cache et a force n'est plus fonctionnel lors de mes phases des différents test
et encore au début çà marchait encore plus mal a cause de la demande d'authentification qui s'exécutait des le départ apparemment.
Actuellement même si ce n'est pas foufou
je réussi a peu prés tout ce que je veux
je supprimes les feuilles qui servent a rien, sauf la page accueil sinon j'ai une erreur car elle est dans le codage de la feuille thisworkbook :/
j'ouvre la page modèle
je sauvegarde le premier classeur
Bon ça fonctionne c'est déjà ça
J'arrive si besoin a faire revenir le 1er calsseur au premier plan mais j'arrive pas a le basculer en XLS ou XLSX est a cause de la version apple ou pas je sais pas.
'Set the display alerts to False, so no prompts are shown
Application.DisplayAlerts = False
' Deletes the workheet with the name Admin, Base
ThisWorkbook.Worksheets("Admin").Delete
ThisWorkbook.Worksheets("Base").Delete
' Set the display alerts back to to True
Application.DisplayAlerts = True
' Ouverture d'un fichier
MsgBox ("Ouverture de votre fichier pour l'année a venir!")
Workbooks.Open "MODEL_Compta.xltm"
Application.ScreenUpdating = True
MsgBox "Convertion des données terminé" & Chr(13) & Chr(10) & "Merci " ' messagebox fin du process de convertion
' Fermeture du document en cours
Workbooks(1).Close savechanges:=True
End Sub