recopie de code vba

Le
Michel (pen ar bed)
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel (pen ar bed)
Le #5328261
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.

PMO
Le #5327441
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
Publicité
Poster une réponse
Anonyme