copie par VBA de feuilles sans leurs macros

infam29

XLDnaute Nouveau
Bonjour à mes futurs lecteurs,
J'ai besoin d'aide:

Je dois faire des copies de 6 feuilles dans un classeur nommé "archives.xls" à partir d'un autre classeur dénommé "ventes.xls" (qui en contient 10).
Chacune de ces feuilles contient une macro événementielle appelant un module qui n'est pas copié.
La technique ordinaire de copie entraîne un plantage. Il me faut donc obligatoirement supprimer ces macros avant copie.

J'ai utilisé le code suivant dans un module actionné par un bouton:
(toutes les variables étant déclarées dans un module spécifique)

'ouverture de l'archives[/COLOR]
Workbooks.Open Filename:="C:\archives\archives.xls"

'comptage des feuilles existantes
x = Sheets.Count

'activation du fichier source
Workbooks("Ventes.xls").Activate

'boucle pour les 6 feuilles
For i = 1 To 6
'variable "nomTmp()" contient le nom de chaque feuille à copier

With ThisWorkbook.VBProject.VBComponents(Sheets(nomTmp(i)).CodeName).CodeModule
'mémorisation de la macro événementielle contenu dans chaque feuille
Ch = .Lines(1, .CountOfLines)
'suppression de la macro
.DeleteLines 1, .CountOfLines
'copie dans l'archive
Worksheets(nomTmp(i)).Copy Before:=Workbooks("archives.xls").Sheets(x)
'rétablissement de la macro sur la feuille-source
.AddFromString Ch
End With

'incrémentation du nombre de feuilles
x = x + 1
Next

Or cette procédure fonctionne très bien si je ne fais pas de boucle (donc copie d'une seule feuille) mais plante lamentablement Excel dès que je boucle (arrêt critique de l'application).

Y aurait-il une bonne âme pour m'expliquer où le bât blesse ? Je ne vois vraiment pas où se situe(nt) le(s) erreur(s).

Merci par avance à ceux qui se pencheront sur mon problème.
 

infam29

XLDnaute Nouveau
Re : copie par VBA de feuilles sans leurs macros

Bonjour Phlaurent55,

Merci de ta "réponse" mais tu penses bien qu'avant de me résoudre à poster une demande d'aide j'ai consulté et re-consulté les forums sans y trouver la solution à mon problème.
Le code que j'ai joint à mon premier envoi fonctionne bien pour UNE feuille mais plante Excel dès lors que je veux faire une boucle pour copier PLUSIEURS FEUILLES A LA SUITE.
Aucune discussion "similaire" n'apporte de réponse à ce plantage irrémédiable. D'où la réitération de ma question qui reste posée.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 185
dernier inscrit
salhit