Adapter un moduler pour chaque bouton save

hello la communauté, encore besoin de votre aide ,
voila mon probléme : sur un userform j'ai un bouton qui me sert de sauvegarde, et je dois à tout pris passer par ce bouton la car sinon les modifs de mon xl ne seront pas prise en compte sur le site de partage, car oui mes fichiers sont sur un site de partage. je voudrais tout simplement sauvegarder mes fichiers normalement via le bouton de sauvegarde du classeur et que les modifs soient prises en compte sur le site de partage. A qui voudrait je peux montrer la definition de mon bouton save.

7 réponses

  1. Contributeur
    Finalement... ajouter du code dans un nouveau module,
    Private Sub INSERTVBCODE(WorkbookToUpdate As Workbook)
    Dim VBProj As VBIDE.VBProject
    Dim VBComp As VBIDE.VBComponent
    Dim CodeMod As VBIDE.CodeModule
    Dim txt As String, CR As String
        CR = Chr(13)
        Set VBProj = WorkbookToUpdate.VBProject
        Set VBComp = VBProj.VBComponents.Add(1) '1 pour module BAS
        'VBComp.Name = "ModuleAjouter"
        Set CodeMod = VBComp.CodeModule
        
        txt = "Dim NbLineAsTitleMATRIX As Integer" & CR & CR _
            & "Sub Test1" & CR _
            & "Dim A as integer" & CR _
            & "    A = 1" & CR _
            & "End Sub"
        
        CodeMod.InsertLines 3, txt
    End Sub
    A+
    1. Contributeur
      Bonjour,
      Je ne comprend pas bien ton problème..
      En fait.. quel-est-il ?
      A+
      1. c'est rien jai réussis à le résoudre finalement , merci comme même, par contre j'ai un autre probléme, je voudrais savoir comment faire pour insérer un module dans un classeur à partir du classeur original, j'utilise cette méthode pour le moment :

        Private Sub INSERTVBCODE(WorkbookToUpdate As Workbook)

        Dim VBProj As VBIDE.VBProject
        Dim VBComp As VBIDE.VBComponent
        Dim CodeMod As VBIDE.CodeModule
        Dim LineNum As Long

        'Set VBProj = ActiveWorkbook.VBProject
        Set VBProj = WorkbookToUpdate.VBProject
        'Set VBComp = VBProj.VBComponents("Module1")
        Set VBComp = VBProj.VBComponents("ThisWorkbook")
        Set CodeMod = VBComp.CodeModule

        With CodeMod
        LineNum = .CountOfLines + 1
        .InsertLines LineNum, "Option Explicit"
        LineNum = LineNum + 1
        .InsertLines LineNum, "Dim NbLineAsTitleMATRIX As Integer"
        LineNum = LineNum + 1

        mais pas trés pratique quand on a plusieurs fonctions à écrire, et puis ce code s'insére dans la partie thisworkbook de la feuille, alors que je voudrais le mettre dans un module, comment faire ?
        1. Contributeur
          Bonjour,
          Le Module1 existe déjà dans le classeur cible ?
          Si oui, serait plus pratique d'en ajouter un.
          Tu dis
          A+

          Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
          Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
          1. cool cela marche super bien une derniére question l'ermite parceque tu le vaut bien lol, voila je souhaite gérer une fonction save que j'ai crée seulement je ne peux pas l'appeler avec un workbook_beforesave car cela provoque des erreurs dans mon code vu qu'il recommence infiniment la sauvegarde, je voulais donc savoir s'il existait un événement dans le style workbook_aftersave, j'ai vu sur le site de microsoft que c'etait dispo sur excel 2010, mais au travail je possède excel 2007, cela fonctionnera t il ?
            1. Contributeur
              J'ai rien compris, mais voire plutôt vers WorkBook_Close
              A+