[VBA XL] Insérer du code dans un classeur

Résolu
topace18 Messages postés 27 Statut Membre -  
Krysstof Messages postés 1659 Statut Membre -
Bonjour,

J'ai un bout de code VBA que je dois appliquer dans la feuille "ThisWorkbook" de 352 classeurs Excel. Plutôt que de faire 352 copier/coller à la main, je cherche un moyen de le faire par VBA. J'ai trouvé quelques bouts de codes sur internet mais je n'arrive pas à les adapter à mon besoin, ne serait-ce que pour un seul classeur de test.

Actuellement j'ai ça :

Sub MAJThisWorkbook()
Dim S As String, Wbk As Workbook
  
  With ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule
    S = .Lines(1, .CountOfLines)
  End With
  
  Set Wbk = Workbooks("C:\Documents and Settings\user\Bureau\test.xls")
  With Wbk.VBProject.VBComponents("ThisWorkbook").CodeModule
    .AddFromString S
  End With

End Sub


Ca plante à la ligne
With ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule

"La méthode 'VBProject' de l'objet '_Workbook' a échoué"

Voilà, merci d'avance si vous pouvez m'aider !

Cdlt

3 réponses

Krysstof Messages postés 1659 Statut Membre 294
 
sur office ??==>2003 :

menu outils, macro, sécurité, onglet "Source Fiable", cocher faire confiance au projet visual basic

reteste avec cette case cochée.
1
topace18 Messages postés 27 Statut Membre
 
Oui Office 2003 pardon.
J'ai coché maintenant ça plante un peu plus bas y'a un progrès :D

Set Wbk = Workbooks("C:\Documents and Settings\user\Bureau\test.xls")

L'indice n'appartient pas à la sélection.

Merci pour l'aide ^^
0
Krysstof Messages postés 1659 Statut Membre 294
 
normal, dans la macro que tu donne, il n'y a pas de "workbooks.open"

la ligne Set Wbk = Workbooks("C:\Documents and Settings\user\Bureau\test.xls")
implique que le fichier soit déja ouvert, faut que tu adapte ta macro
0
Krysstof Messages postés 1659 Statut Membre 294
 
oué, en fait fait juste ca

Set Wbk = Workbooks.Open("C:\Documents and Settings\user\Bureau\test.xls")

et rajoute
wbk.save
wbk.close
a la fin, pour fermer le fichier
0
topace18 Messages postés 27 Statut Membre
 
Effectivement avec :
Workbooks.Open ("C:\Documents and Settings\user\Bureau\test.xls")
Set Wbk = Workbooks("test.xls")


Ca marche nettement mieux :D
J'espérais ne pas être obligé d'ouvrir les fichiers un par un mais bon tant pis ça ira très bien comme ça.

Merci beaucoup ! :D
0
Krysstof Messages postés 1659 Statut Membre 294
 
ah ben ca tu peux pas faire autrement !!!
0