Copie de Procédure : erreur quand Ligne avec "Sub"
Scoubi7
Messages postés88Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention22 février 2017
-
24 juil. 2010 à 04:31
Scoubi7
Messages postés88Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention22 février 2017
-
7 août 2010 à 05:47
Bonjour !
Ayant un grand nombre de Workbooks dans lesquels je souhaiterais remplacer leur code par un plus récent, je me suis fait la macro suivante (sous Excel 2000) :
Sub Remplacer_Procedure()
Module = "ThisWorkbook"___' Nom du Module à Remplacer ("ThisWorkbook" ou "Module#")
___________________'Copier dans "Module2" le texte de remplacement
For Each WKB In Workbooks
___If WKB.Name <> "Automatisation.xls" Then
______'Supprime le "Module"
______With Workbooks(WKB.Name).VBProject.VBComponents(Module).CodeModule
_________LigneDebut = .CountOfDeclarationLines
_________LigneFin = .countOfLines
_________If LigneFin <> 0 Then .deleteLines LigneDebut, LigneFin
______End With
______'Remplace Ligne par Ligne "Module" par "Module2"
______For Ligne = 1 To Workbooks("Automatisation.xls").VBProject.VBComponents("Module2").CodeModule.countOfLines
_________Texte = Workbooks("Automatisation.xls").VBProject.VBComponents("Module2").CodeModule.Lines(Ligne, 1)
_________Workbooks(WKB.Name).VBProject.VBComponents(Module).CodeModule.InsertLines Line:=Ligne, String:=Texte
______Next
___End If
Next WKB
End Sub
Le souci c'est que lors de la copie ligne par ligne, les lignes avec "Sub" provoquent une erreur !
Si vous pouviez m'aiguiller !?
Merci...
A voir également:
Copie de Procédure : erreur quand Ligne avec "Sub"
Scoubi7
Messages postés88Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention22 février 2017 24 juil. 2010 à 11:47
Merci pour ta réponse Renfield !
N'ayant accès que ce soir sur l'ordi où j'ai fait ma macro, peux-tu me confirmer que ce fichier *.xla pourra remplacer le contenu de "ThisWorkbook" (par exemple) et pas seulement être importé en module complémentaire ? Et si mes souvenirs sont bons, quand je fait exporter les fichiers sont *.cls et pas *.xla, n'est-ce pas gênant ?
Autrement (la nuit porte conseil), j'ai pensé traiter les procédures une par une à l'intérieur du module... c'est pas très propre mais si ça marche et que personne n'a d'autre solution à me proposer...
Scoubi7
Messages postés88Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention22 février 2017 25 juil. 2010 à 13:14
Je viens juste de voir qu'en fait mon Code marche très bien (quelle perte de temps), c'est juste que lors du remplacement des lignes dans les "ThisWorkbook" cela provoque une erreur lors du traitement du 2ème "Sub"...