• Initiateur de la discussion Initiateur de la discussion Benoit
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

Benoit

Guest
Bonjour

J'ai vu dans les archives du forum qu'on avait déjà traité ce sujet. La macro contenue dans "NommerOnglet" me convient parfaitement, sauf, ! sauf ! que j'aurai voulu qu'elle me copie des données contenues dans la feuille de depart. Actuellement, cette macro donne un nom à un onglet mais la nouvelle feuille est vide.

Benoit
 
Bonjour,

Peut-être parce que le but de cette macro ne faisait que cela. Si tu veux bien redonner le post dans lequel tu l'a eu cela aiderait pour ceux qui pourraient la modifier, éventuellement.


Maintenant, tu peux aussi faire une copie de ta feuille avec le menu Copie en activant l'onglet en question mais là tu auras la recopie de tout ce qu'il y a dans la feuille départ. Si ce sont certaines données qui se trouvent dans ta feuille départ que tu souhaites recopier, c'est une autre chose à faire et là peut-être un mini-fichier aiderait.

Celeda
 
Bonsoir Celeda, Benoit, le Forum

Manipuler des WorkSheets est assez facile en VBA... Enfin en tout cas c'est pas très compliqué, tout dépend, si on parle de verre à moitié plein ou à moitié vide


Un exemple en suposant que l'on veuille renommer la "Feuil1" avec le nom du Jour (maintenant Lundi) et la placer en fin de feuille (c'est à dire à l'extrème droite dans l'ordre des onglets)

Sub CopySheetRename()
Dim LeJour As String

LeJour = Format(Now, "DDDD")

Sheets("Feuil1").Copy after:=Sheets(Sheets.Count)

Sheets(Sheets.Count).Name = LeJour

End Sub


Un peu plus compliqué, maintenant on veut copier la même "Feuil1" 7 fois et la renommer en partant des jours de la semaines toujours vers la droites des onglets...

Sub CopySheetRename()
Dim LeJour As String
Dim i As Byte

For i = 1 To 7
LeJour = Format(Now + i, "DDDD")
Sheets("Feuil1").Copy after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = LeJour
Next
End Sub


Evidemment il y a plantage si on fait tourner cette macro deux fois (lol) alors on peut envisager ceci :

Sub CopySheetRename()
Dim LeJour As String
Dim i As Byte

For i = 1 To 7

LeJour = Format(Now + i, "DDDD")

On Error GoTo TheEnd
Sheets("Feuil1").Copy after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = LeJour
Next

TheEnd:
End Sub

(On pourrait faire un message etc)

Enfin voilà comment jouer avec les feuilles...

Bonne Nuit
@+Thierry
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
1 K
Retour