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

Résolu
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

  1. 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
    1. 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
      1. 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
      2. 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
    2. 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
      1. ah ben ca tu peux pas faire autrement !!!
        0