Vba dans vba
Résolu
titi17-08
Messages postés
123
Statut
Membre
-
titi17-08 Messages postés 123 Statut Membre -
titi17-08 Messages postés 123 Statut Membre -
Bonjour Cher forum,
voila je souhaite dans mon code créer des nouvelles feuilles en automatisation.
jusque la ca va ... maintenant je souhaite faire comme le film Inception;)
je voudrais inclure un code vba dans cette feuille créée mais pas physiquement créée
avez vous des idées ?
Merci a vous
belle journée
titi
voila je souhaite dans mon code créer des nouvelles feuilles en automatisation.
jusque la ca va ... maintenant je souhaite faire comme le film Inception;)
je voudrais inclure un code vba dans cette feuille créée mais pas physiquement créée
avez vous des idées ?
Merci a vous
belle journée
titi
2 réponses
Bonjour,
voir ceci:
https://silkyroad.developpez.com/VBA/VisualBasicEditor/#LIV-A
un exemple de ce que l'on peut faire :
voilà, à adapter
voir ceci:
https://silkyroad.developpez.com/VBA/VisualBasicEditor/#LIV-A
un exemple de ce que l'on peut faire :
Sub creer_macro() ' créer feuille avec 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
voilà, à adapter
je te remercie pour cet exemple qui me va tout a fait.
je vais étudier le Bazard...
Merci
je reviens vers vous car j'ai travaillé sur le code
bon j'ai une erreur 9 indice en dehors du tableau..
je écris quoi comme bêtise .....? ;)))
merci par avance
Titi
Sub creer_macro_2() ' créer feuille avec macro Dim Code$, NextLine& Dim rep 'donner valeur à cette variable Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = MonthName(1) & " " & rep Code = "Private Sub test()" & vbCrLf Code = Code & "If cells(7,2).value<> "" "" then" & vbCrLf 'doubler les guillemets Code = Code & "Msgbox (1) " & vbCrLf Code = Code & "End If" & vbCrLf Code = Code & "End sub" With ActiveWorkbook.VBProject.VBComponents(Worksheets(MonthName(1) & " " & rep).CodeName).CodeModule NextLine = .CountOfLines + 1 .InsertLines NextLine, Code End With With Sheets(MonthName(1) & " " & rep) Call conception_feuille .Tab.Color = RGB(228, 238, 221) End With End Sub@+ Le Pivert
la subtilité des doubles guillemets ...
pour la valeur de la variable rep elle est plus haut dans le code.
Merci beaucoup je vous tiens au courant
Belle soirée
Titi
j'ai toujours mon erreur 9 indice en dehors de mon tableau et surligner sur le with activeworkbook..
voici le code complet