Feuille excel et VBA

cs_seb013 Messages postés 9 Date d'inscription mercredi 9 août 2006 Statut Membre Dernière intervention 10 mars 2007 - 10 mars 2007 à 18:21
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Derniè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.

4 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
10 mars 2007 à 18:50
Salut,

essai comme ceci :

    Sheets.Add After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Name = "Test"

Elle s'ajoute en dernier, et la dernière feuille (donc la nouvelle) est renommée Test

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
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 :

  Sheets.Add After:=Sheets(Sheets.Count)
  Sheets(Sheets.Count).Name = "Test" & Str$(Sheets.Count)

qui renvoit alors les noms : Test 5 , Test 6 , etc.

Amicalement,
Us.
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
12 mars 2007 à 11:53
Salut ou encore www.codyx.org > renommer, supprimer une feuille excel!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
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



End Function



Cordialement, Jean-Paul  

______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
Rejoignez-nous