Ajout d'un onglet

  • Initiateur de la discussion Benoit
  • Date de début
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
 
C

Celeda

Guest
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
 
@

@+Thierry

Guest
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
 
B

Benoit

Guest
Bonjour Celeda, Thierry

Le mieux est que je mette mon exemple souhaité en piece jointe.
Il s'agit de faire une feuille excel pour chaque auteur, avec le tableau libre de toute formule de liaison rechercheV

Benoit
 

Pièces jointes

  • exempleOnglets.zip
    8.4 KB · Affichages: 13
  • exempleOnglets.zip
    8.4 KB · Affichages: 21
  • exempleOnglets.zip
    8.4 KB · Affichages: 14

Discussions similaires

Statistiques des forums

Discussions
312 359
Messages
2 087 587
Membres
103 602
dernier inscrit
nuky_nuke