Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

recopie de code vba

2 réponses
Avatar
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.

2 réponses

Avatar
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.

Avatar
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