Recopier le contenu d'une feuille vers plusieurs feuilles créées par une macro

ipotez

XLDnaute Occasionnel
Salut
J'ai une feuille sur laquelle figure une liste de 3 personnes.
J'ai une macro qui crée 3 feuilles et qui les nomment avec le nom des 3 personnes.
Mon problème est que les feuilles créées sont vierges, j'aimerais que les 3 feuilles créées contiennent des informations qui figurent dans une feuille nommée Modèle.

SOS !!
Merci
 

Pièces jointes

  • xldowload.xlsm
    10.5 KB · Affichages: 59

ipotez

XLDnaute Occasionnel
Re : Recopier le contenu d'une feuille vers plusieurs feuilles créées par une macro

Je rajoute le code, je pense que c'est super simple mais je vois pas comment articuler le copy after
Sub FEUILLES()
Dim Cell As Range
Dim Nom As String
Sheets("LISTE").Activate
Range("A4", Range("A4").End(xlDown)).Select
For Each Cell In Selection
If Cell.Value <> "" Then
Nom = Cell.Value
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Nom
NomOnglet = ActiveSheet.Name
Range("B1").Value = NomOnglet

End If
Next

End Sub
 

ipotez

XLDnaute Occasionnel
Re : Recopier le contenu d'une feuille vers plusieurs feuilles créées par une macro

Yop re-moi :eek:

Vraiment désolé de relancer mon post si vite, mais je suis bloqué et évidemment c'est pour le taf donc c'est urgent...

J'aimerais juste qu'on me dise comment modifier
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)

pour obtenir une création de feuille qui copie colle la feuille modèle au lieu d'en créer une nouvelle

encore désolé pour le harcèlement :)
 

job75

XLDnaute Barbatruc
Re : Recopier le contenu d'une feuille vers plusieurs feuilles créées par une macro

Bonsoir ipotez,

En supposant que la feuille modèle s'appelle "Modele" j'écrirais :

Code:
Sub FEUILLES()
Dim cel As Range
Sheets("LISTE").Activate
On Error Resume Next 'si le nom d'une feuille est déjà utilisé
For Each cel In Range("A4", Range("A65536").End(xlUp))
  If cel <> "" Then
    Sheets("Modele").Copy After:=Worksheets(Worksheets.Count)
    Worksheets(Worksheets.Count).Name = cel
    cel.Offset(, 1) = Worksheets(Worksheets.Count).Name 'à quoi ça sert ??
  End If
Next
End Sub

A+
 

ipotez

XLDnaute Occasionnel
Re : Recopier le contenu d'une feuille vers plusieurs feuilles créées par une macro

Yes ça roule !

Par contre lorsqu'on relance la macro, il ne bug plus, il recrée des nouvelles feuilles qui s'appellent Modèle, Modèle1, Modèle2.....

Ce n'est pas bien grave, je ferais attention.

Merci encore à toi Job75 !
Bonne soirée

ps : pour le a quoi ça sert, tu te doutes vu mon niveau que je ne l'ai pas crée cette macro, je ne peux pas te dire :rolleyes: je ne suis bon qu'a les adapter a mes classeurs, pas à les écrire... je fais une formation bientot
 

job75

XLDnaute Barbatruc
Re : Recopier le contenu d'une feuille vers plusieurs feuilles créées par une macro

Bonjour ipotez, le forum,

J'avais juste essayé d'arranger la macro du post #2.

Si l'on ne veut pas créer de feuille quand le nom est déjà utilisé :

Code:
Sub FEUILLES()
Dim dercel As Range, cel As Range
With Sheets("LISTE")
  Set dercel = .Range("A65536").End(xlUp)
  If dercel.Row < 4 Then Exit Sub
  Application.ScreenUpdating = False
  On Error Resume Next 'si le nom d'une feuille est déjà utilisé
  For Each cel In .Range("A4", dercel)
    If cel <> "" Then
      If IsError(Sheets(cel.Text).Name) Then
        Sheets("Modele").Copy After:=Worksheets(Worksheets.Count)
        Worksheets(Worksheets.Count).Name = cel.Text
      End If
    End If
  Next
  .Activate
End With
End Sub

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 176
Messages
2 085 959
Membres
103 061
dernier inscrit
Zebor