Affecter une macro a une page creer suite à une autre macro

banjoboy -  
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,

Je cherche à coder une macro qui permette d'affecter une macro à une pages dont le nom est déterminé par la macro qui les créé. Je voudrais que lorsque la page se créée elle est automatiquement une macro affecté.
Ma question est donc la suivante:
Comment fait-on pour dire en langage Excel "La macro affecter à cette feuille est................"?
Merci de votre aide

1 réponse

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    Comme ceci, a adapter:

    Sub creer_macro()
    'http://silkyroad.developpez.com/VBA/VisualBasicEditor/#LIV-A
    Dim Code$, NextLine&
    Sheets.Add.Move After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Name = "mononglet"
      ' Comment ajouter le code.
        Code = "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" & vbCrLf
        Code = Code & "If Not Application.Intersect(Target, Range(""C1:Z100"")) Is Nothing Then" & vbCrLf
        Code = Code & "MsgBox ""Double cliquez en colonnes A et B""" & vbCrLf
        Code = Code & "End If" & vbCrLf
        Code = Code & "End Sub" & vbCrLf
        Code = Code & "Private Sub WorkSheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)" & vbCrLf
        Code = Code & "With Target" & vbCrLf
        Code = Code & "If .Column = 1 Then .Value = Date: Cancel = True" & vbCrLf
        Code = Code & "End With" & vbCrLf
        Code = Code & "With Target" & vbCrLf
        Code = Code & "If .Column = 2 Then .Value = Time: Cancel = True" & vbCrLf
        Code = Code & " End With" & vbCrLf
        Code = Code & "End Sub"
    '   Ecriture du code dans le module de la feuille (fs)
    With ActiveWorkbook.VBProject.VBComponents(Sheets(Sheets.Count).CodeName).CodeModule
           NextLine = .CountOfLines + 1
          .InsertLines NextLine, Code
    End With
    End Sub
    


    0