Créer une feuille et y insérer des macro
boubou
-
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je fais une feuille excel pour des soumissions et au final je crée un onglet pour un client.
Worksheets.Add().Name = Client
Ca va très bien.
Ensuite, je formate la feuille du client à ma guise en y ajoutant des bouton auquel je rattache des macro, mais ou je bloque c'est que j'aimerais utiliser la fonction selectionchange de ma nouvelle feuille.
Disons y mettre le code suivant :
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim ligne As Integer
ligne = Selection.Row
If ligne > 2 Then
Range("C1").Value = Range("A" & ligne).Value
End If
End Sub
Le problème c'est que la feuille du client n'existe pas encore, je la créé via le code VBA.
Donc, comment insérer du code relié à un évènement sur une feuille qui n'existe pas encore ?
Comment faire pour peupler les évènement d'une feuille qu'on vient de créer via le code ?
Merci d'avance.
Boubou
Je fais une feuille excel pour des soumissions et au final je crée un onglet pour un client.
Worksheets.Add().Name = Client
Ca va très bien.
Ensuite, je formate la feuille du client à ma guise en y ajoutant des bouton auquel je rattache des macro, mais ou je bloque c'est que j'aimerais utiliser la fonction selectionchange de ma nouvelle feuille.
Disons y mettre le code suivant :
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim ligne As Integer
ligne = Selection.Row
If ligne > 2 Then
Range("C1").Value = Range("A" & ligne).Value
End If
End Sub
Le problème c'est que la feuille du client n'existe pas encore, je la créé via le code VBA.
Donc, comment insérer du code relié à un évènement sur une feuille qui n'existe pas encore ?
Comment faire pour peupler les évènement d'une feuille qu'on vient de créer via le code ?
Merci d'avance.
Boubou
A voir également:
- Créer une feuille et y insérer des macro
- Créer un lien pour partager des photos - Guide
- Insérer une vidéo dans powerpoint - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer une adresse hotmail - Guide
3 réponses
Excellent. Mon nouveau code
With ActiveWorkbook.VBProject.VBComponents("Feuil5").CodeModule
'Chr(38) permet d'insérer le symbole & dans la procédure au besoin.
X = .CountOfLines
.InsertLines X + 1, "Private Sub Worksheet_SelectionChange(ByVal Target As Range)"
.InsertLines X + 2, "Ligne = selection.Row"
.InsertLines X + 3, "If ligne > 2 then"
.InsertLines X + 4, " Range(""C1"").value = Range(""A"" & Ligne).value"
.InsertLines X + 5, "Else"
.InsertLines X + 6, " Range(""C1"").value = """""
.InsertLines X + 7, "End if"
.InsertLines X + 8, "End Sub"
End With
Ma nouvelle question.
Je ne suis pas très à l'aise avec VBComponents.
Si au lieu de "Feuil5" quel serait la façon d'assigner une feuille par le nom de son d'onglet ?
Les feuilles sont créé dynamiquement, au moment de créer la macro, je sais le nom de l'onglet, mais j'ignore à quel # de feuille je suis rendu.
With ActiveWorkbook.VBProject.VBComponents("Feuil5").CodeModule
'Chr(38) permet d'insérer le symbole & dans la procédure au besoin.
X = .CountOfLines
.InsertLines X + 1, "Private Sub Worksheet_SelectionChange(ByVal Target As Range)"
.InsertLines X + 2, "Ligne = selection.Row"
.InsertLines X + 3, "If ligne > 2 then"
.InsertLines X + 4, " Range(""C1"").value = Range(""A"" & Ligne).value"
.InsertLines X + 5, "Else"
.InsertLines X + 6, " Range(""C1"").value = """""
.InsertLines X + 7, "End if"
.InsertLines X + 8, "End Sub"
End With
Ma nouvelle question.
Je ne suis pas très à l'aise avec VBComponents.
Si au lieu de "Feuil5" quel serait la façon d'assigner une feuille par le nom de son d'onglet ?
Les feuilles sont créé dynamiquement, au moment de créer la macro, je sais le nom de l'onglet, mais j'ignore à quel # de feuille je suis rendu.