Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel (pen ar bed)
Michel (pen ar bed) a formulé la demande :
Bonjour,
Dans un classeur j'ai sur la premiere feuille des boutons qui permettent de créer des feuilles (avec controle d'existance).
Est il possible d'integer dans le "Worksheet activate" de la feuille nouvellement créer le contenue d'un fichier texte ?
Merci de l'aide M. Je m'était mal expliqué, je voulais créer une feuille avec son code à
partir d'un modèle. J'ai fait ceci ( pas forcement le mieux, mais débutant en VBA)
j'ai une macro comme ci-dessous ----------------------------------------------------------------- Sub copy_feuille(non_feuille_a_copier, nom_feuille_de_destination,_ apres_feuille As String) Sheets(non_feuille_a_copier).Select Sheets(non_feuille_a_copier).Copy After:=Sheets(apres_feuille) ActiveSheet.Name = nom_feuille_de_destination End Sub -------------------------------------------------------- que j'appelle comme cela ----------------------------------------------------- Private Sub CommandButton1_Click() Call copy_feuille("tata", "tutu", "tyty") End Sub ---------------------------------------------------- M.
Michel (pen ar bed) a formulé la demande :
Bonjour,
Dans un classeur j'ai sur la premiere feuille des boutons qui permettent de
créer des feuilles (avec controle d'existance).
Est il possible d'integer dans le "Worksheet activate" de la feuille
nouvellement créer le contenue d'un fichier texte ?
Merci de l'aide
M.
Je m'était mal expliqué, je voulais créer une feuille avec son code à
partir d'un modèle. J'ai fait ceci ( pas forcement le mieux, mais
débutant en VBA)
j'ai une macro comme ci-dessous
-----------------------------------------------------------------
Sub copy_feuille(non_feuille_a_copier, nom_feuille_de_destination,_
apres_feuille As String)
Sheets(non_feuille_a_copier).Select
Sheets(non_feuille_a_copier).Copy After:=Sheets(apres_feuille)
ActiveSheet.Name = nom_feuille_de_destination
End Sub
--------------------------------------------------------
que j'appelle comme cela
-----------------------------------------------------
Private Sub CommandButton1_Click()
Call copy_feuille("tata", "tutu", "tyty")
End Sub
----------------------------------------------------
M.
Dans un classeur j'ai sur la premiere feuille des boutons qui permettent de créer des feuilles (avec controle d'existance).
Est il possible d'integer dans le "Worksheet activate" de la feuille nouvellement créer le contenue d'un fichier texte ?
Merci de l'aide M. Je m'était mal expliqué, je voulais créer une feuille avec son code à
partir d'un modèle. J'ai fait ceci ( pas forcement le mieux, mais débutant en VBA)
j'ai une macro comme ci-dessous ----------------------------------------------------------------- Sub copy_feuille(non_feuille_a_copier, nom_feuille_de_destination,_ apres_feuille As String) Sheets(non_feuille_a_copier).Select Sheets(non_feuille_a_copier).Copy After:=Sheets(apres_feuille) ActiveSheet.Name = nom_feuille_de_destination End Sub -------------------------------------------------------- que j'appelle comme cela ----------------------------------------------------- Private Sub CommandButton1_Click() Call copy_feuille("tata", "tutu", "tyty") End Sub ---------------------------------------------------- M.
PMO
Bonjour,
Une piste avec le code suivant
'************** Sub copy_feuille(nom_feuille_a_copier As String, _ nom_feuille_de_destination As String) Dim S As Worksheet Dim bool As Boolean Dim Increment% Dim A$ '--- absence de la feuille modèle --- For Each S In Sheets If S.Name = nom_feuille_a_copier Then bool = True Exit For End If Next S If Not bool Then MsgBox "La feuille modèle ''" & _ nom_feuille_a_copier & "'' n'existe pas." Exit Sub End If '--- conflit de nom de la feuille destination --- A$ = nom_feuille_de_destination Do Until bool = False For Each S In Sheets bool = False If S.Name = A$ Then Increment% = Increment% + 1 A$ = nom_feuille_de_destination & _ "_" & Increment% bool = True Exit For End If Next S Loop '--- copie en dernière place --- Sheets(nom_feuille_a_copier).Copy _ After:=Sheets(Sheets.Count) ActiveSheet.Name = A$ End Sub
Private Sub CommandButton1_Click() Call copy_feuille("tata", "tutu") End Sub '**************
Cordialement.
PMO Patrick Morange
Bonjour,
Une piste avec le code suivant
'**************
Sub copy_feuille(nom_feuille_a_copier As String, _
nom_feuille_de_destination As String)
Dim S As Worksheet
Dim bool As Boolean
Dim Increment%
Dim A$
'--- absence de la feuille modèle ---
For Each S In Sheets
If S.Name = nom_feuille_a_copier Then
bool = True
Exit For
End If
Next S
If Not bool Then
MsgBox "La feuille modèle ''" & _
nom_feuille_a_copier & "'' n'existe pas."
Exit Sub
End If
'--- conflit de nom de la feuille destination ---
A$ = nom_feuille_de_destination
Do Until bool = False
For Each S In Sheets
bool = False
If S.Name = A$ Then
Increment% = Increment% + 1
A$ = nom_feuille_de_destination & _
"_" & Increment%
bool = True
Exit For
End If
Next S
Loop
'--- copie en dernière place ---
Sheets(nom_feuille_a_copier).Copy _
After:=Sheets(Sheets.Count)
ActiveSheet.Name = A$
End Sub
Private Sub CommandButton1_Click()
Call copy_feuille("tata", "tutu")
End Sub
'**************
'************** Sub copy_feuille(nom_feuille_a_copier As String, _ nom_feuille_de_destination As String) Dim S As Worksheet Dim bool As Boolean Dim Increment% Dim A$ '--- absence de la feuille modèle --- For Each S In Sheets If S.Name = nom_feuille_a_copier Then bool = True Exit For End If Next S If Not bool Then MsgBox "La feuille modèle ''" & _ nom_feuille_a_copier & "'' n'existe pas." Exit Sub End If '--- conflit de nom de la feuille destination --- A$ = nom_feuille_de_destination Do Until bool = False For Each S In Sheets bool = False If S.Name = A$ Then Increment% = Increment% + 1 A$ = nom_feuille_de_destination & _ "_" & Increment% bool = True Exit For End If Next S Loop '--- copie en dernière place --- Sheets(nom_feuille_a_copier).Copy _ After:=Sheets(Sheets.Count) ActiveSheet.Name = A$ End Sub
Private Sub CommandButton1_Click() Call copy_feuille("tata", "tutu") End Sub '**************