[VBA] SaveAs d'un classeur Excel en excluant les macros
5 réponses
HD
Bonjour,
Je voudrais lancer en VBA un SaveAs d'un classeur Excel mais dans un format
qui ne contient pas de macro... et sans qu'une question ne s'affiche...
Et le souci est qu'avec cette commande:
ActiveWorkbook.SaveAs Filename:=FicSave, FileFormat:=xlExcel5
il me faudrait répondre Non à une question pour enregistrer mon classeur
sans les macros... Or si j'utilise:
ApplicationDisplayAlerts = False
Avant le SaveAs, ça ne fonctionne pas...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fredo P.
Pas certain de ce que j'avance, il faut sans doute ajouter Cancel = True "HD" a écrit dans le message de news:ghlp07$2g7p$
Bonjour,
Je voudrais lancer en VBA un SaveAs d'un classeur Excel mais dans un
format
qui ne contient pas de macro... et sans qu'une question ne s'affiche...
Et le souci est qu'avec cette commande: ActiveWorkbook.SaveAs Filename:=FicSave, FileFormat:=xlExcel5
il me faudrait répondre Non à une question pour enregistrer mon classeur sans les macros... Or si j'utilise: ApplicationDisplayAlerts = False Avant le SaveAs, ça ne fonctionne pas...
Merci d'avance pour votre aide -- @+ HD
Pas certain de ce que j'avance, il faut sans doute ajouter Cancel = True
"HD" <hd@anti.spam.fr> a écrit dans le message de
news:ghlp07$2g7p$1@biggoron.nerim.net...
Bonjour,
Je voudrais lancer en VBA un SaveAs d'un classeur Excel mais dans un
format
qui ne contient pas de macro... et sans qu'une question ne s'affiche...
Et le souci est qu'avec cette commande:
ActiveWorkbook.SaveAs Filename:=FicSave, FileFormat:=xlExcel5
il me faudrait répondre Non à une question pour enregistrer mon classeur
sans les macros... Or si j'utilise:
ApplicationDisplayAlerts = False
Avant le SaveAs, ça ne fonctionne pas...
Pas certain de ce que j'avance, il faut sans doute ajouter Cancel = True "HD" a écrit dans le message de news:ghlp07$2g7p$
Bonjour,
Je voudrais lancer en VBA un SaveAs d'un classeur Excel mais dans un
format
qui ne contient pas de macro... et sans qu'une question ne s'affiche...
Et le souci est qu'avec cette commande: ActiveWorkbook.SaveAs Filename:=FicSave, FileFormat:=xlExcel5
il me faudrait répondre Non à une question pour enregistrer mon classeur sans les macros... Or si j'utilise: ApplicationDisplayAlerts = False Avant le SaveAs, ça ne fonctionne pas...
Pas certain de ce que j'avance, il faut sans doute ajouter Cancel = True
J'ai ajouté Cancel := True à SaveAs mais l'argument n'est pas reconnu... :-(
@+ HD
Fredo P.
Non pas Cancel :=true mais Cancel=True "HD" a écrit dans le message de news:ghohfi$2tg1$
>> ActiveWorkbook.SaveAs Filename:=FicSave, FileFormat:=xlExcel5 > Pas certain de ce que j'avance, il faut sans doute ajouter Cancel = True J'ai ajouté Cancel := True à SaveAs mais l'argument n'est pas reconnu...
:-(
@+ HD
Non pas Cancel :=true mais Cancel=True
"HD" <hd@anti.spam.fr> a écrit dans le message de
news:ghohfi$2tg1$1@biggoron.nerim.net...
>> ActiveWorkbook.SaveAs Filename:=FicSave, FileFormat:=xlExcel5
> Pas certain de ce que j'avance, il faut sans doute ajouter Cancel = True
J'ai ajouté Cancel := True à SaveAs mais l'argument n'est pas reconnu...
Non pas Cancel :=true mais Cancel=True "HD" a écrit dans le message de news:ghohfi$2tg1$
>> ActiveWorkbook.SaveAs Filename:=FicSave, FileFormat:=xlExcel5 > Pas certain de ce que j'avance, il faut sans doute ajouter Cancel = True J'ai ajouté Cancel := True à SaveAs mais l'argument n'est pas reconnu...
:-(
@+ HD
HD
> Non pas Cancel :=true mais Cancel=True
>> ActiveWorkbook.SaveAs Filename:=FicSave, FileFormat:=xlExcel5 > Pas certain de ce que j'avance, il faut sans doute ajouter Cancel = > True J'ai ajouté Cancel := True à SaveAs mais l'argument n'est pas reconnu...
Mais si Cancel est un argument de SaveAs il lui faut avec le << : >> entre le Cancel et le True...
De toute manière... Cancel n'est pas un argument de SaveAs... avec ou sans << : >> j'ai un message d'erreur...
@+ HD
> Non pas Cancel :=true mais Cancel=True
>> ActiveWorkbook.SaveAs Filename:=FicSave, FileFormat:=xlExcel5
> Pas certain de ce que j'avance, il faut sans doute ajouter Cancel =
> True
J'ai ajouté Cancel := True à SaveAs mais l'argument n'est pas reconnu...
Mais si Cancel est un argument de SaveAs il lui faut avec le << : >> entre
le Cancel et le True...
De toute manière... Cancel n'est pas un argument de SaveAs... avec ou sans
<< : >> j'ai un message d'erreur...
>> ActiveWorkbook.SaveAs Filename:=FicSave, FileFormat:=xlExcel5 > Pas certain de ce que j'avance, il faut sans doute ajouter Cancel = > True J'ai ajouté Cancel := True à SaveAs mais l'argument n'est pas reconnu...
Mais si Cancel est un argument de SaveAs il lui faut avec le << : >> entre le Cancel et le True...
De toute manière... Cancel n'est pas un argument de SaveAs... avec ou sans << : >> j'ai un message d'erreur...
@+ HD
isabelle
bonjour Hd,
tu pourrais y adapter ces macro de michdenis :
> Pour appeler la procédure principale, tu exécutes > la procédure Test. > '---------------------------- > Sub Test() > > 'ThisWorkbook = le classeur en cours ( actif) > 'Si c'est un autre classeur ouvert, tu écris : > SupprimeCode Workbooks("Classeur.xls"), "userform1" > 'userform1 -> est le nom du module ou du formulaire à supprimer > > SupprimeCode ThisWorkbook, "userform1" > > End Sub > > '---------------------------- > Sub SupprimeCode(Wk As Workbook, Module As String) > > Dim VBComps As Object > Set VBComps = Wk.VBProject.VBComponents > With VBComps(Module) > Select Case .Type > Case 100 > With .CodeModule > .DeleteLines 1, .CountOfLines > End With > Case Else > VBComps.Remove VBComps(Module) > End Select > End With > > End Sub > '---------------------------- >
Pas certain de ce que j'avance, il faut sans doute ajouter Cancel = True
J'ai ajouté Cancel := True à SaveAs mais l'argument n'est pas reconnu...
Mais si Cancel est un argument de SaveAs il lui faut avec le << : >> entre le Cancel et le True...
De toute manière... Cancel n'est pas un argument de SaveAs... avec ou sans << : >> j'ai un message d'erreur...
@+ HD
bonjour Hd,
tu pourrais y adapter ces macro de michdenis :
> Pour appeler la procédure principale, tu exécutes
> la procédure Test.
> '----------------------------
> Sub Test()
>
> 'ThisWorkbook = le classeur en cours ( actif)
> 'Si c'est un autre classeur ouvert, tu écris :
> SupprimeCode Workbooks("Classeur.xls"), "userform1"
> 'userform1 -> est le nom du module ou du formulaire à supprimer
>
> SupprimeCode ThisWorkbook, "userform1"
>
> End Sub
>
> '----------------------------
> Sub SupprimeCode(Wk As Workbook, Module As String)
>
> Dim VBComps As Object
> Set VBComps = Wk.VBProject.VBComponents
> With VBComps(Module)
> Select Case .Type
> Case 100
> With .CodeModule
> .DeleteLines 1, .CountOfLines
> End With
> Case Else
> VBComps.Remove VBComps(Module)
> End Select
> End With
>
> End Sub
> '----------------------------
>
> Pour appeler la procédure principale, tu exécutes > la procédure Test. > '---------------------------- > Sub Test() > > 'ThisWorkbook = le classeur en cours ( actif) > 'Si c'est un autre classeur ouvert, tu écris : > SupprimeCode Workbooks("Classeur.xls"), "userform1" > 'userform1 -> est le nom du module ou du formulaire à supprimer > > SupprimeCode ThisWorkbook, "userform1" > > End Sub > > '---------------------------- > Sub SupprimeCode(Wk As Workbook, Module As String) > > Dim VBComps As Object > Set VBComps = Wk.VBProject.VBComponents > With VBComps(Module) > Select Case .Type > Case 100 > With .CodeModule > .DeleteLines 1, .CountOfLines > End With > Case Else > VBComps.Remove VBComps(Module) > End Select > End With > > End Sub > '---------------------------- >