Excel VBA : macro créant une feuille et lui donnant le nom d'1 cellule

mathieullg

Nouveau membre
Bonjour,

Voila, mon problème est le suivant. Je souhaiterais créer sous excel un fichier me permettant d'avoir une feuille nommée Saisie et une macro qui :
1. Crée une nouvelle feuille dont le nom est celui entrée dans la première cellule de Saisie
2. Copie certaines infos de saisie dans la nouvelle feuille
3. Remette toutes les valeurs de Saisie à 0 pour recommencer.

Je cerne mon problème : je n'arrive pas à faire en sorte de donner le nom entré dans une cellule (donc quelque chose de relatif) à la feuille crée. Comment fait-on ?
J'ai déà essayé :

Code:
Sheets("Saisie").Select
    Range("A1").Select
    Selection.Copy
    Sheets.Add
    ActiveSheet.Name = Copy

Ne marche pas
Code:
  Sheets("Saisie").Select
    Range("A1").Select
    Selection.Copy
    Sheets("Saisie").Select
    Sheets.Add
    ActiveSheet.Name = Saisie.Range("A1")
Ne marche pas

Que faire ?

Merci d'avance

Mathieu
 

galopin01

Habitué
bonjour,[cpp]Sheets.Add
ActiveSheet.Name = Sheets("Saisie").Range("A1")[/cpp]
A+
 

Nova13

Habitué
Tu te prend trop la tête pour rien.
regarde, beaucoup plus plus simple, et (normalement) ca marche:
[cpp]dim nom as string
nom=sheets("saisie").range("A1")
sheets.add
feuil1.name = nom[/cpp]
Dans la dernière ligne c'est écrit feuil "un", on a un peu de mal à lire.
Car noemalement quand tu ajoutes une feuille alors que toutes les autres portent un nom spécifique, elle s'appelle par défaut feuil1.

PS: Bravo, tu es un des rares nouveau qui a le respect de mettre les balises
Code:
  :sol:  Comme quoi tout n'est pas perdu  :D

edit: a bah à 5 min près il m'a précédé le canaillou :kaola:
 

mathieullg

Nouveau membre
merci beaucoup.

Cependant, comment sélectionner cette feuille après ?
Code:
Sheets(Sheets("Saisie").Range("D3")).Select
ne marche pas
 

Nova13

Habitué
c'est pour ca qu'avec ma méthode c'est plus pratique :D
[cpp]Sheets(nom).Select[/cpp]
 

Nova13

Habitué
alors dans ce cas là, écrit ca:
[cpp] nom=sheets("saisie").range("A1").value [/cpp]
Et si ca veut toujours pas, décompose la ligne
[cpp]nom=sheets("saisie").range("A1")[/cpp]en:[cpp]sheets("saisie").select
nom=range("A1")[/cpp]
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 098
Messages
6 717 106
Membres
1 586 287
Dernier membre
lucilleguffey
Partager cette page
Haut