IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

ajout et renommage d'une feuille


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 77
    Points : 49
    Points
    49
    Par défaut ajout et renommage d'une feuille
    Bonjour le Forum,

    Je n'ai pas trouvé, ou mal cherché, une solution plus rapide pour ajouter et renommer une feuille dans un classeur
    Voici la méthode que j'applique, existe t il une autre méthode plus simple?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub MakePivotTable()
    Worksheets("caresrpt-05Nov2009").Select 'selectionne la feuille reference
    Worksheets.Add After:=Sheets(Worksheets.Count) 'ajoute une feuille apres la feuille ref
    Sheets(Worksheets.Count).Name = "titi" & Worksheets.Count 'renomme la feuille ajoutée
    'MsgBox Worksheets(Worksheets.Count).Name
    'Set PTOutput = Worksheets(Worksheets.Count)  'code pour next step
    'PTOutputName = PTOutput.Name & "toto" 'code pour next step
    Worksheets("caresrpt-05Nov2009").Select 'selectionne la feuille reference
     End Sub

    Merci d'avance pour votre réponse,

    Chrysto

  2. #2
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Bonjour,

    Voici une méthode bien simple et efficace.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim sh As Worksheet
    Set sh = Worksheets.Add
    sh.Name = "Nouveau Nom"
    Avec le "set" ton objet worksheets sh sera relié à la nouvelle feuille.

    Tu pourrais aussi la relier avec une feuille déja existante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set sh = Worksheets("Feuil1")
    et l'utiliser tout au long de te code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sh.Cells(1, 1) = "Salut"
    Mais voici ce qui peut remplacer ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim shNew As Worksheet, sh As Worksheet
    Set sh = ActiveSheet
    Set shNew = Worksheets.Add After:=Worksheets("caresrpt-05Nov2009")
    sh.Name = "titi" & Worksheets.Count
    sh.Activate
    Et voila!

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 77
    Points : 49
    Points
    49
    Par défaut
    Hello drakkar_agfa at le Forum,

    Je te remercie pour cette réponse mais à priori le code suivant ne passe pas dans ta proposition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set shNew = Worksheets.Add After:=Worksheets("caresrpt-05Nov2009")
    l'héritage ne passe pas.

    Chrysto

  4. #4
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Bonjour,

    Il suffit de mettre le tout en parenthèses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set shNew = Worksheets.Add(After:=Worksheets("caresrpt-05Nov2009"))
    J'ai testé avec ce code et ça fonctionne bien!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Dim shNew As Worksheet, sh As Worksheet
        Set sh = ActiveSheet
        Set shNew = Worksheets.Add(After:=Worksheets("caresrpt-05Nov2009"))
        shNew.Name = "titi" & Worksheets.Count
        sh.Activate
    Si ça ne fonctionne toujours pas, reviens nous!

  5. #5
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    bonjour chrystobale drakkar_agfa le forum cree en derniere position
    si ta feuille Worksheets("caresrpt-05Nov2009") est pas la derniere il faut utiliser le code de l'ami drakkar qui met la feuille juste apres & pas en derniere position

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub cre()
    Sheets.Add.Move After:=Sheets(Sheets.Count)
    ActiveSheet.Name = "titi" & Worksheets.Count
    Worksheets("caresrpt-05Nov2009").Select
    End Sub

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 77
    Points : 49
    Points
    49
    Par défaut
    Merci à Leatitia et drakkar_agfa,

    J'avoue que j'aurais pu/du regardé d'un peu plus prêt mais j'avoue que je n'avais pas pensais au coup des parenthèses ....
    Merci pour votre soutiens !

    Chrysto

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Ajouter dynamiquement des Events à une Feuille via un module de classe.
    Par comme de bien entendu dans le forum Excel
    Réponses: 4
    Dernier message: 10/06/2012, 07h11
  2. [XL-2003] Ajouter dynamiquement des Events à une Feuille via un module de classe.
    Par comme de bien entendu dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/06/2012, 18h06
  3. ajouter un activeX dans une feuille excel
    Par ricky78 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/04/2012, 16h21
  4. ajouter un combobox dans une feuille excel
    Par kariyasan dans le forum ASP.NET
    Réponses: 2
    Dernier message: 17/04/2009, 14h58
  5. Ajouter un calcul dans une feuille Excel
    Par ToTo13 dans le forum VBA Access
    Réponses: 3
    Dernier message: 25/03/2008, 16h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo