Adapter un moduler pour chaque bouton save

momouiz Messages postés 35 Statut Membre -  
momouiz Messages postés 35 Statut Membre -
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. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Je ne comprend pas bien ton problème..
    En fait.. quel-est-il ?
    A+
    0
  3. momouiz Messages postés 35 Statut Membre 3
     
    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 ?
    0
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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 .
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. momouiz Messages postés 35 Statut Membre 3
     
    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 ?
    0
  7. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    J'ai rien compris, mais voire plutôt vers WorkBook_Close
    A+
    0