Enregistrement d'un classeur sans sa macro...

  • Initiateur de la discussion Initiateur de la discussion pykrees
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

pykrees

Guest
Bonjour à tous !

Je me trouve confronté à un problème :

Comment faire pour enregistrer un classeur sans sa macro associé ???

Merci pour vos répopnsess !!!

Pyk
 
Bonsoir Luc et Pikrees,

Et enregistrer le classeur avec la macro, puis la supprimer ???? (outils, macros, choisir macro, supprimer).

Cela étant, ma solution me parait bien trop simple pour être bonne...

A plus

Brigitte
 
En fait, ce que je souhaite, c'est enregistrer le classeur sous un autre nom a partir d'une macro, sans enregistrer cette macro(juste les feuilles "feuil1" "feuil2"......)Pas facile !!!Non ????

Qui peux résoudre ce problème ???

Pyk.
 
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 05/01/2004 par home
'

'
Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Copy
ActiveWorkbook.SaveAs Filename:="C:\web\Excel\exemple.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
End Sub


*************

Bien sûr compléter les instructions en fonction de ton classeur d'origine(nom des feuilles à copier et chemin et nom de fichier de destination)

A noter que cette macro a été réalisé par enregistrement (donc accessible au novice)
 
voici une macro qui fait ça. Dans cet exemple, une copie de ce fichier est enregistrée sous un nouveau nom, cette copie est ouverte et on lui retire ses modules et toutes ses macros.

l'exemple de Coyote n'est pas efficace s'il y a des macros dans les feuilles (macros événementielles ou contrôles ActiveX
 

Pièces jointes

Salut a vous ! et merci pour votre aide . J'ai encore une question, je n'arrive pas à utiliser ton programme Ti....pourrais tu me montrer comment tu t'y prendrai avec mon code source suivants :

Private Sub CommandButton5_Click()

Workbooks("Rapport.xls").Activate

fichiersave = ActiveWorkbook.Sheets(1).Range("Z2").Value + ActiveWorkbook.Sheets(1).Range("Z5").Value + UserForm33.Label21.Caption + ".xls"

Workbooks("Rapport_ext_7b_beta_test.xls").SaveAs fichiersave, , , "MDP"

UserForm33.Hide

End Sub

Merci de votre aide.

Pyk.
 
Bonjour Ti

je viens de tomber, sur le forum, sur ton fichier sauvesanscodeTi.zip, qui peut m'interesser.
Apres telechargement, je ne trouve aucune macro incluse, ni scrpt VB.

Je ne suis pas tres doue dans ce domaine, peux-tu m'expliquer ?

En fait je cherche aussi a enregistrer un document xls de maniere auto, en utilisant le contenu d'une cellule.
Du genre Doc1001.xmls, puis Doc1002.xls car la cellule s'incremente auto.

Peux-tu m'aider

Merci de nous faire partager tes connaissances
 
voilà le nouveau code, mais une question : tu as vraiment 33 userforms dans ton fichier ? Et tu arrives à t'y retrouver ? A mon avis, tu en as pas loin de 30 en trop 🙂


Sub SauveEtSupprimeCode(Wbk As Workbook)
'Ti 07-01-04
Dim VBComp As VBComponent

On Error GoTo erreur

'suppression du code
With Wbk
For Each VBComp In .VBProject.VBComponents
If VBComp.Type = vbext_ct_Document Then
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Else
.VBProject.VBComponents.Remove VBComp
End If
Next VBComp
'on le sauvegarde
.Save
End With
Exit Sub

erreur:
MsgBox "Erreur !"
End Sub

'**************
Private Sub CommandButton5_Click()
Dim Wbk As Workbook, FichierSave As String

With Workbooks("Rapport.xls").Sheets(1)
FichierSave = .Range("Z2").Value & .Range("Z5").Value & _
UserForm33.Label21.Caption & ".xls"
End With

Set Wbk = Workbooks("Rapport_ext_7b_beta_test.xls")
Wbk.SaveAs FichierSave, , , "MDP"
SauveEtSupprimeCode Wbk
UserForm33.Hide
End Sub
 
je ne comprends pas greencar, il me semble que Wally a déjà répondu à ta question sur ce fil :
<http://www.excel-downloads.com/html/French/forum/messages/1_64045_64045.htm>

à moins que tu cherches autre chose, auquel cas il faudrait préciser quoi exactement.

d'autre part, pour voir le code VBA, tu tapes simplement Alt-F11 dans une des feuilles du fichier
 
Effectivement Ti, j'ai eu la reponse de wally mais apres t'avoir pose la question !

et sa reponse correspond a mes attentes.

par contre concernant ton fichier sauvesanscodeTI.zip donnant le m fichier mais xls, il n'y avait pas de code VBA dans la feuille, en passant par Alt-F11 ou par la barre d'outil VB.

J'ai releve la reponse que tu as faite a pykrees et vais la tester.

Merci
 
Saluit Ti !

C'est sur j'ai bien 10 userform en trop !!! Mais pour le momment je m'en contente....Pour l'optimisation on verra après....
Par contre j'ai toujours un problème avec ton petit programme.....J'ai hate que cela fonctionne !!! Ce serrai géniale !!!
J'ai une erreur au niveau de la déclaration des variables....Comment cela se fait il??? Il me met "erreur indéfini non défini"...enfin un truc de ce genre là.

Sub SauveEtSupprimeCode(Wbk As Workbook)
'Ti 07-01-04
Dim VBComp As VBComponent <-- L'erreur se situe là

J'ai changé VBComponent par VBComponents mais cela fait la même chose....

Merci pour ton aide.
 
non non, on ne peut pas changer le type des variables comme ça 🙂

tu vas dans l'éditeur VBA, puis tu cliques sur Options...Références et tu cherches :
Microsoft Visual Basic For Applications Extensibility 5.3

tu coches cette référence et après ça marchera.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
377
Réponses
2
Affichages
213
  • Question Question
Microsoft 365 Lien vers pdf
Réponses
3
Affichages
145
Réponses
8
Affichages
157
Retour