Evénement onglet Excel VBA
NLX_hydra
Messages postés
2
Statut
Membre
-
cs_Le Pivert Messages postés 8437 Statut Contributeur -
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,
J'ai crée une macro qui, entre autres, crée un nouvel onglet dans un classeur.
J'aimerais que cette même macro modifie les événements de ce nouvel onglet.
Concrètement, je voudrais que la macro écrive ça dans la nouvelle feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("$c$2")) Is Nothing Then
Nom_onglet
End If
End Sub
Private Sub WorkSheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
If .Column = 1 Then .Value = Date: Cancel = True
End With
With Target
If .Column = 2 Then .Value = Time: Cancel = True
End With
End Sub
Comment faire ??
Merci
J'ai crée une macro qui, entre autres, crée un nouvel onglet dans un classeur.
J'aimerais que cette même macro modifie les événements de ce nouvel onglet.
Concrètement, je voudrais que la macro écrive ça dans la nouvelle feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("$c$2")) Is Nothing Then
Nom_onglet
End If
End Sub
Private Sub WorkSheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
If .Column = 1 Then .Value = Date: Cancel = True
End With
With Target
If .Column = 2 Then .Value = Time: Cancel = True
End With
End Sub
Comment faire ??
Merci
A voir également:
- Evénement onglet Excel VBA
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Rouvrir onglet fermé chrome - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
1 réponse
Bonjour,
d'abord lire cela:
https://silkyroad.developpez.com/VBA/VisualBasicEditor/#LIV-A
Voici le code:
Voir à gauche dans les feuilles le code name de la feuille qui va être ajoutée.
par exemple si tu as 3 feuilles le code name sera Feuil4
tu corrigera le code en conséquence à la place de Feuil12
d'abord lire cela:
https://silkyroad.developpez.com/VBA/VisualBasicEditor/#LIV-A
Voici le code:
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 = "mafeuille"
ActiveSheet.Select
' Comment ajouter le code.
Code = "Private Sub Worksheet_Change(ByVal Target As Range)" & vbCrLf
Code = Code & "If Not Application.Intersect(Target, Range(""C2"")) Is Nothing Then" & vbCrLf
Code = Code & "Nom_onglet" & 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("Feuil12").CodeModule 'mettre le code name de la feuille et non pas "mafeuille"
NextLine = .CountOfLines + 1
.InsertLines NextLine, Code
End With
End Sub
Voir à gauche dans les feuilles le code name de la feuille qui va être ajoutée.
par exemple si tu as 3 feuilles le code name sera Feuil4
tu corrigera le code en conséquence à la place de Feuil12