Evénement onglet Excel VBA
NLX_hydra
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
cs_Le Pivert Messages postés 7904 Date d'inscription Statut Contributeur Dernière intervention -
cs_Le Pivert Messages postés 7904 Date d'inscription Statut Contributeur Dernière intervention -
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
- Raccourci rouvrir onglet fermé - 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