cs_seb013
Messages postés9Date d'inscriptionmercredi 9 août 2006StatutMembreDernière intervention10 mars 2007
-
10 mars 2007 à 18:21
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 2022
-
22 mars 2007 à 20:26
Bonjour,
Je cherche comment créer (puis supprimer) une nouvelle feuille dans un document excel à l'aide d'une macro. Je n'arrive pas à donner un nom à la nouvelle feuille.
Merci de vos réponses.
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 10 mars 2007 à 21:49
Salut,
Pour finir de répondre à la question, on utilise la propriété "Delete" pour supprimer une feuille. Exemple :
Sheets("Test").Delete
Si tu veux créer plusieurs feuilles avant de les supprimer, il faut ne pas utiliser deux fois le m^me nom. Ici mettre un indice en bout du nom est la seul solution vraiment simple. Ma version calqué sur le code de Mortalino :
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 20223 22 mars 2007 à 20:26
Voilà un bout de code que j'ai créé pour moi il te faut juste l'adapter un peu.
Tu met tout ça dans un module. Et pour l'appel c'est tout simple
CreateSheet "Ma feuille"
J'utilise des feuille d'options qui doivent être caché donc une partie du code ne te sera peut-être pas utile.
bonne prog......
Function FeuilleExiste(Nom$) As Boolean
On Error Resume Next
FeuilleExiste = Sheets(Nom).Name <> ""
Err.Clear
End Function
Function CreateSheet(Optional rName As String = "xlOptions") As Boolean
Dim rSheet As String
If FeuilleExiste(rName) Then Exit Function
rSheet = ActiveSheet.Name
On Error GoTo CreateSheet_Err
Worksheets.Add After:=Worksheets(Sheets.Count)
With ActiveSheet
.Name = rName If rName "xlOptions" Or rName "xlIni" Or rName = "xlBase" Then
.Range("A1").AddComment "ATTENTION CETTE FEUILLE NE DOIS PAS ETRE EFFACE !!!!!!"
.Visible = xlSheetVeryHidden
End If
End With
CreateSheet = True
Sheets(rSheet).Select
Exit Function
CreateSheet_Err:
MsgBox Err.Description, vbCritical, GetTranslatedString("ErrApplication")
CreateSheet = False