Enregistrement d'un classeur sans sa macro...

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
 
B

brigitte

Guest
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
 
P

Pykrees

Guest
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.
 
C

coyote

Guest
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)
 
T

Ti

Guest
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

  • sauvesansCodeTi.zip
    10.8 KB · Affichages: 47
P

pykrees

Guest
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.
 
G

greencar

Guest
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
 
T

Ti

Guest
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
 
T

Ti

Guest
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
 
G

greencar

Guest
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
 
P

pykrees

Guest
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.
 
T

Ti

Guest
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.
 

Discussions similaires

Statistiques des forums

Discussions
312 765
Messages
2 091 892
Membres
105 084
dernier inscrit
lca.pertus