[vba] créer une feuille nommée
Dernière réponse : dans Programmation
salut,
j'aimerai savoir comment créer une feuille nommée "toto" par exemple.
Je sais que pour créer une feuille on fait:
Mais pour la nommer je bloque...
Merci de votre aide.
j'aimerai savoir comment créer une feuille nommée "toto" par exemple.
Je sais que pour créer une feuille on fait:
Sub InsereFeuille() Sheets.Add.Move After:=Sheets(Sheets.Count) End Sub
Mais pour la nommer je bloque...
Merci de votre aide.
Autres pages sur : vba creer feuille nommee
Lassé par la pub ? Créez un compte
En fait, c'est tout simple.
C'est la propriété name de la sheet qu'il faut modifiée. En ce qui concerne la collection sheets que tu utilises sache que tu peux utiliser soit la position de la feuille soit son nom, donc dans ton exemple cela fonctionnerai.
Mais ca reste une méthode pas vraiment conseillé surtout si tu l'ajoute après une autre feuille désignée ou autre, en fait il faut être certains de sa position donc toujours risquer, et connaître le nom les autant surtout entre vf et va.
Donc je te conseille de passer par l'instanciation d'un objet worksheet, en procédant de cette manière. D'ailleur le move n'est pas nécessaire si tu regardes la fonction add de workbook.
Gros avantage de cette méthode c'est que tu peux utiliser ta variable pour d'autre traitement que tu veux faire par la suite en utilisant shtoto plutot que sheets("toto")... par contre en fin de programme il faut vider l'instance, enfin c'est plus propre et sa libère la mémoire, comme ceci :
C'est la propriété name de la sheet qu'il faut modifiée. En ce qui concerne la collection sheets que tu utilises sache que tu peux utiliser soit la position de la feuille soit son nom, donc dans ton exemple cela fonctionnerai.
Sub InsereFeuille() Sheets.Add.Move After:=Sheets(Sheets.Count) Sheets(Sheets.Count).name = "toto" End Sub
Mais ca reste une méthode pas vraiment conseillé surtout si tu l'ajoute après une autre feuille désignée ou autre, en fait il faut être certains de sa position donc toujours risquer, et connaître le nom les autant surtout entre vf et va.
Donc je te conseille de passer par l'instanciation d'un objet worksheet, en procédant de cette manière. D'ailleur le move n'est pas nécessaire si tu regardes la fonction add de workbook.
Sub InsereFeuille() Dim shtoto as worksheet Set shtoto = Sheets.Add(After:=Sheets(Sheets.Count)) shtoto.name = "toto" End Sub
Gros avantage de cette méthode c'est que tu peux utiliser ta variable pour d'autre traitement que tu veux faire par la suite en utilisant shtoto plutot que sheets("toto")... par contre en fin de programme il faut vider l'instance, enfin c'est plus propre et sa libère la mémoire, comme ceci :
set shtoto = nothing
novice_33 a dit :
En fait, c'est tout simple.C'est la propriété name de la sheet qu'il faut modifiée. En ce qui concerne la collection sheets que tu utilises sache que tu peux utiliser soit la position de la feuille soit son nom, donc dans ton exemple cela fonctionnerai.
Sub InsereFeuille() Sheets.Add.Move After:=Sheets(Sheets.Count) Sheets(Sheets.Count).name = "toto" End Sub
Mais ca reste une méthode pas vraiment conseillé surtout si tu l'ajoute après une autre feuille désignée ou autre, en fait il faut être certains de sa position donc toujours risquer, et connaître le nom les autant surtout entre vf et va.
Donc je te conseille de passer par l'instanciation d'un objet worksheet, en procédant de cette manière. D'ailleur le move n'est pas nécessaire si tu regardes la fonction add de workbook.
Sub InsereFeuille() Dim shtoto as worksheet Set shtoto = Sheets.Add(After:=Sheets(Sheets.Count)) shtoto.name = "toto" End Sub
Gros avantage de cette méthode c'est que tu peux utiliser ta variable pour d'autre traitement que tu veux faire par la suite en utilisant shtoto plutot que sheets("toto")... par contre en fin de programme il faut vider l'instance, enfin c'est plus propre et sa libère la mémoire, comme ceci :
set shtoto = nothing
ok merci de ton aide j'étais totalement perdu
bonne fin de journée
Bonjour, voilà, j'aimerais poser une question qui va un rien plus loin.
J'aimerais créer une page nommée, mais le nom serait le contenu de la cellule active de la feuille active.
Je n'ai aucune idée de comment récupérer le dit contenu (il s'agirait de texte) pour le mettre dans la variable nom...
Voilà, merci pour votre aide.
J'aimerais créer une page nommée, mais le nom serait le contenu de la cellule active de la feuille active.
Je n'ai aucune idée de comment récupérer le dit contenu (il s'agirait de texte) pour le mettre dans la variable nom...
Voilà, merci pour votre aide.
Hum, merci, ça, je le savais, mon problème revient à récupérer le contenu de la cellule active (activecell d'accord), et à l'utiliser pour nommer une nouvelle feuille ( sheet(sheet.count) ).
Pour préciser, comment puis-je récupérer la donnée dans la cellule en format texte (string) et l'utiliser pour créer et nommer une nouvelle feuille.
Mais essais n'aboutissent que sur des erreurs 1004 et je me demande si ça ne provient pas du format de ma donnée. Je patauge vraiment en fait...
Pour préciser, comment puis-je récupérer la donnée dans la cellule en format texte (string) et l'utiliser pour créer et nommer une nouvelle feuille.
Mais essais n'aboutissent que sur des erreurs 1004 et je me demande si ça ne provient pas du format de ma donnée. Je patauge vraiment en fait...
Citation :
Hum, merci, ça, je le savaisCitation :
( sheet(sheet.count) )
Set shtoto = Sheets.Add
Ligne 4 du code de Freeman, on peut lire
shtoto.name = "toto"
Hum, merci mais ça tu devrais savoir le faire :shtoto.name = ActiveSheet.ActiveCell
zeb a dit :
Si je ne l'ai pas dis cent fois, je ne l'ai jamais dis :ARRETER D'UTILISER ActiveTruc OU ActiveMachin.
Evidemment, ne pas se baser sur les ActiveTrucs.
Donc voici un ptit algo :
Set variable =
Stou. Je ne te mets pas le code, de peur de lire "Hum, merci, ça, je le savais".
Lassé par la pub ? Créez un compte
- Contenus similaires :
- ForumComment ecraser une feuille dans vba par une nouvelle
- ForumLancer macro VBA à louverture dune feuille Excel
- ForumExcel VBA créer UserForm création et UserForm de Modification
- Forum[code] VBA Excel - Selection de Feuille dans un classeur
- Forum[vba] convertir feuille excel en pdf
- ForumExcel VBA: Copier une feuille et renommer
- ForumVBA déverrouillage de feuille excel
- Forum[Excel :: Macro VBA] Afficher une feuille excel dans un formulaire VBA
- Forum[vba] récupérer le nom d'une feuille dans une variable
- Voir plus