Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

création de feuilles avec une macro

6 réponses
Avatar
Michèle
Bonsoir,

Je souhaite, avec une macro, recopier une feuille (l'équivalent de
cliquer-glisser + CTRL) qui se renomme automatiquement en utilisant le
contenu d'une cellule de la feuille principale.
J'ai essayé :
Set NouvelleFeuille = Worksheets.Add(Sheets(1))
--> J'obtiens bien une nouvelle feuille mais pas la copie d'une feuille
existante

NouvelleFeuille = "Michele"
--> Il s'obstine à l'appeler feuil2 au lieu de Michèle

ActiveSheet.Name = [A4]
--> Impossible de la renommer en utilisant le contenu de la cellule A4 de la
feuille principale

et il arrête pas que de m'embêter en disant "Impossible d'exécuter le code
en mode arrêt"

Alors, qu'est-ce qu'il faut lui susurer dans l'oreille pour qu'il m'obéisse
????????????
Bonne soirée

Michèle

6 réponses

Avatar
garnote
Bonsoir Michèle,

Ai-je bien compris ?

Sub Copie_Feuille_Active()
nom = Sheets("Principale").Range("A4")
fa = ActiveSheet.Name
Sheets(fa).Copy After:=Sheets(fa)
ActiveSheet.Name = nom
End Sub

Serge

"Michèle" a écrit dans le message de news:

Bonsoir,

Je souhaite, avec une macro, recopier une feuille (l'équivalent de
cliquer-glisser + CTRL) qui se renomme automatiquement en utilisant le
contenu d'une cellule de la feuille principale.
J'ai essayé :
Set NouvelleFeuille = Worksheets.Add(Sheets(1))
--> J'obtiens bien une nouvelle feuille mais pas la copie d'une feuille
existante

NouvelleFeuille = "Michele"
--> Il s'obstine à l'appeler feuil2 au lieu de Michèle

ActiveSheet.Name = [A4]
--> Impossible de la renommer en utilisant le contenu de la cellule A4 de
la

feuille principale

et il arrête pas que de m'embêter en disant "Impossible d'exécuter le code
en mode arrêt"

Alors, qu'est-ce qu'il faut lui susurer dans l'oreille pour qu'il
m'obéisse

????????????
Bonne soirée

Michèle




Avatar
Gloops
Bonsoir,

Et ça, ça donne quoi ?

WorkSheets("Feuil2").Name = "Michèle"
WorkSheets("Feuil1").Activate : Cells(1,1).Select :
ActiveSheet.UsedRange.Copy
WorkSheets("Michèle").Activate : Cells(1,1).Select : ActiveSheet.Paste
Application.CutCopyMode = False

Ah oui, aller chercher le nom dans un champ ...
WorkSheets("Michèle").Name = WorkSheets("Feuil1").Range("C5")

Enfin chez moi (Excel 95 :-) si il y a "quatre" dans la cellule C5 de
Feuil1, la feuille Michèle se met à s'appeler quatre, ce qui me paraît
être bon signe. Je l'ai tapé dans la fenêtre Exécution.

ça me donne l'idée de faire ça :

Sub AjoutFeuille(NomNouvelleFeuille As String)
Set NouvelleFeuille = Worksheets.Add(Sheets(1))
NouvelleFeuille.Name = NomNouvelleFeuille
End Sub

Et donc on crée la feuille par
AjoutFeuille WorkSheets("Feuil1").Range("C5")

Michèle a écrit, le 26/05/2004 23:07 :

Bonsoir,

Je souhaite, avec une macro, recopier une feuille (l'équivalent de
cliquer-glisser + CTRL) qui se renomme automatiquement en utilisant le
contenu d'une cellule de la feuille principale.
J'ai essayé :
Set NouvelleFeuille = Worksheets.Add(Sheets(1))
--> J'obtiens bien une nouvelle feuille mais pas la copie d'une feuille
existante

NouvelleFeuille = "Michele"
--> Il s'obstine à l'appeler feuil2 au lieu de Michèle

ActiveSheet.Name = [A4]
--> Impossible de la renommer en utilisant le contenu de la cellule A4 de la
feuille principale

et il arrête pas que de m'embêter en disant "Impossible d'exécuter le code
en mode arrêt"

Alors, qu'est-ce qu'il faut lui susurer dans l'oreille pour qu'il m'obéisse
????????????
Bonne soirée

Michèle




Avatar
Michèle
Bonsoir,

Quelle classe Serge !
Solution livrée sur un plateau moins de 10 mn après avoir appelé au secours.
C'est nettement mieux que le SAMU
Seulement un petit problème : la feuille qu'il me recopie est "Principale"
qu'il nomme bien du nom saisi en A4 sur la feuille principale alors que je
veux qu'il recopie "fa"
ça sert à quoi ActiveSheetName=nom ?
Merci et bonne nuit

Michèle

Ai-je bien compris ?

Sub Copie_Feuille_Active()
nom = Sheets("Principale").Range("A4")
fa = ActiveSheet.Name
Sheets(fa).Copy After:=Sheets(fa)
ActiveSheet.Name = nom
End Sub

Serge

"Michèle" a écrit dans le message de news:

Bonsoir,

Je souhaite, avec une macro, recopier une feuille (l'équivalent de
cliquer-glisser + CTRL) qui se renomme automatiquement en utilisant le
contenu d'une cellule de la feuille principale.
J'ai essayé :
Set NouvelleFeuille = Worksheets.Add(Sheets(1))
--> J'obtiens bien une nouvelle feuille mais pas la copie d'une feuille
existante

NouvelleFeuille = "Michele"
--> Il s'obstine à l'appeler feuil2 au lieu de Michèle

ActiveSheet.Name = [A4]
--> Impossible de la renommer en utilisant le contenu de la cellule A4
de


la
feuille principale

et il arrête pas que de m'embêter en disant "Impossible d'exécuter le
code


en mode arrêt"

Alors, qu'est-ce qu'il faut lui susurer dans l'oreille pour qu'il
m'obéisse

????????????
Bonne soirée

Michèle








Avatar
garnote
Mais c'est que ma macro fait une copie de la feuille active :-(
Si tu veux copier une certaine feuille à partir d'une feuille
quelconque, je crois qu'il faut donner son nom :

Sub Copie_Feuille()
nom = Sheets("Principale").Range("A4")
fa = "Feuil2"
Sheets(fa).Copy After:=Sheets(fa)
ActiveSheet.Name = nom
End Sub

Serge

"Michèle" a écrit dans le message de news:

Bonsoir,

Quelle classe Serge !
Solution livrée sur un plateau moins de 10 mn après avoir appelé au
secours.

C'est nettement mieux que le SAMU
Seulement un petit problème : la feuille qu'il me recopie est "Principale"
qu'il nomme bien du nom saisi en A4 sur la feuille principale alors que je
veux qu'il recopie "fa"
ça sert à quoi ActiveSheetName=nom ?
Merci et bonne nuit

Michèle

Ai-je bien compris ?

Sub Copie_Feuille_Active()
nom = Sheets("Principale").Range("A4")
fa = ActiveSheet.Name
Sheets(fa).Copy After:=Sheets(fa)
ActiveSheet.Name = nom
End Sub

Serge

"Michèle" a écrit dans le message de news:

Bonsoir,

Je souhaite, avec une macro, recopier une feuille (l'équivalent de
cliquer-glisser + CTRL) qui se renomme automatiquement en utilisant le
contenu d'une cellule de la feuille principale.
J'ai essayé :
Set NouvelleFeuille = Worksheets.Add(Sheets(1))
--> J'obtiens bien une nouvelle feuille mais pas la copie d'une
feuille



existante

NouvelleFeuille = "Michele"
--> Il s'obstine à l'appeler feuil2 au lieu de Michèle

ActiveSheet.Name = [A4]
--> Impossible de la renommer en utilisant le contenu de la cellule A4
de


la
feuille principale

et il arrête pas que de m'embêter en disant "Impossible d'exécuter le
code


en mode arrêt"

Alors, qu'est-ce qu'il faut lui susurer dans l'oreille pour qu'il
m'obéisse

????????????
Bonne soirée

Michèle












Avatar
garnote
C'est pour baptiser la copie de ta feuille.

Bonne nuit

Serge

«ça sert à quoi ActiveSheetName=nom ?»

Sub Copie_Feuille_Active()
nom = Sheets("Principale").Range("A4")
fa = ActiveSheet.Name
Sheets(fa).Copy After:=Sheets(fa)
ActiveSheet.Name = nom
End Sub
Avatar
michele
Bonjour Serge,

ça marche super !
Il a suffit que je mette mon bouton de macro dans la feuille à recopier au
lieu de le mettre dans la feuille principale.
J'ai fait quelques petites modif et ça roule comme sur des roulettes !
Merci beaucoup

Michèle (je progresse, je
progresse.......................;-))))))))))))))))))))))))

Mais c'est que ma macro fait une copie de la feuille active :-(
Si tu veux copier une certaine feuille à partir d'une feuille
quelconque, je crois qu'il faut donner son nom :

Sub Copie_Feuille()
nom = Sheets("Principale").Range("A4")
fa = "Feuil2"
Sheets(fa).Copy After:=Sheets(fa)
ActiveSheet.Name = nom
End Sub

Serge

"Michèle" a écrit dans le message de news:

Bonsoir,

Quelle classe Serge !
Solution livrée sur un plateau moins de 10 mn après avoir appelé au
secours.

C'est nettement mieux que le SAMU
Seulement un petit problème : la feuille qu'il me recopie est
"Principale"


qu'il nomme bien du nom saisi en A4 sur la feuille principale alors
que je


veux qu'il recopie "fa"
ça sert à quoi ActiveSheetName=nom ?
Merci et bonne nuit

Michèle

Ai-je bien compris ?

Sub Copie_Feuille_Active()
nom = Sheets("Principale").Range("A4")
fa = ActiveSheet.Name
Sheets(fa).Copy After:=Sheets(fa)
ActiveSheet.Name = nom
End Sub

Serge

"Michèle" a écrit dans le message de news:

Bonsoir,

Je souhaite, avec une macro, recopier une feuille (l'équivalent de
cliquer-glisser + CTRL) qui se renomme automatiquement en
utilisant le




contenu d'une cellule de la feuille principale.
J'ai essayé :
Set NouvelleFeuille = Worksheets.Add(Sheets(1))
--> J'obtiens bien une nouvelle feuille mais pas la copie d'une
feuille



existante

NouvelleFeuille = "Michele"
--> Il s'obstine à l'appeler feuil2 au lieu de Michèle

ActiveSheet.Name = [A4]
--> Impossible de la renommer en utilisant le contenu de la
cellule A4




de
la
feuille principale

et il arrête pas que de m'embêter en disant "Impossible d'exécuter
le




code
en mode arrêt"

Alors, qu'est-ce qu'il faut lui susurer dans l'oreille pour qu'il
m'obéisse

????????????
Bonne soirée

Michèle