créer des feuilles (à partir d'un modèle) et coller des valeurs issues d'une liste

glanducode

XLDnaute Nouveau
Bonjour,

J'aimerais pouvoir utiliser une liste d'élèves avec des notes pour créer leurs feuilles respectives (onglets - nommés) tout en insérant leurs notes dans une mise page particulière.
J'ai un modèle pour la fiche individuelle, mais la mise en page n'est pas identique à celle de ma liste.

Si quelqu'un pouvait m'aider !? Je ne m'en sors pas tout seul, j'ai pourtant regardé des exemples, mais mes besoins sont trop précis et je suis une bille en code...

merci d'avance !
 

Pièces jointes

  • de liste à individu.xlsx
    28.5 KB · Affichages: 47

Staple1600

XLDnaute Barbatruc
Re : créer des feuilles (à partir d'un modèle) et coller des valeurs issues d'une lis

Bonsoir à tous

glanducode [Bienvenue sur le forum]
Cela semble faire l'affaire, non ?
Code:
Sub a()
Dim i
For i = 3 To 32
Feuil2.Copy after:=Sheets(Sheets.Count)
With ActiveSheet
.[A4].Value = Feuil1.Cells(i, "b").Value
.[B18].Value = Feuil1.Cells(i, "d").Value
.[B27].Value = Feuil1.Cells(i, "e").Value
.[B33].Value = Feuil1.Cells(i, "f").Value
.Name = .[A4]
End With
Next i
End Sub

NB: Suggestion en passant:
Ce serait plus simple de faire cela avec un publipostage Word + Excel
(plus rapide, moins encombrant, sans macro)
 

glanducode

XLDnaute Nouveau
Re : créer des feuilles (à partir d'un modèle) et coller des valeurs issues d'une lis

Bonjour Staple1600,

Merci, c'est génial, c'est tout à fait ça !!! :).
Comment peut-on rajouter deux boutons ? Un (createsheets) qui exécute le code et un autre (nettoyer) qui remet le tout à zéro.

PS : j'ai fais le test avec la console au format xlsm. Je ne sais pas compiler et tout mettre dans un fichier xlsx simple...

PS2 : je sais faire un peu de publipostage Word, mais pas Word + Excel

Encore merci pour ton aide,
Mr.G
 

Staple1600

XLDnaute Barbatruc
Re : créer des feuilles (à partir d'un modèle) et coller des valeurs issues d'une lis

Bonsoir à tous

glanducode:
Comment peut-on rajouter deux boutons ?

En étant curieux ;)
(avec l'appui du moteur de recherche de ton choix)

un autre (nettoyer) qui remet le tout à zéro.
Selon, ce que tu veux remettre à zéro, utilises l'une ou l'autre des macros ci-dessous
(ou les deux)
Sub RAZ_vI()
Sheets("RECAPNOTES").Range("B2:F32") = Empty
End Sub











Sub RAZ_vII()
Dim ws As Worksheet
For Each ws In Worksheets
If ws.Name Like "RECAPNOTES" Or ws.Name Like "MODELE" Then
'
Else
Application.DisplayAlerts = False
ws.Delete
End If
Next ws
Application.DisplayAlerts = True
End Sub


PS : j'ai fais le test avec la console au format xlsm. Je ne sais pas compiler et tout mettre dans un fichier xlsx simple...
Là encore un chouia de curiosité est nécessaire . ;)
(Pour trouver la page web qui te dira qu'un fichier *.xlsx ne pourra jamais contenir du code VBA exécutable.)

PS2 : je sais faire un peu de publipostage Word, mais pas Word + Excel
Là, aussi (be curious ;) ), multitudes de tutoriels qui explique le publipostage Word+Excel.
Deux exemples au hasard​
1)
2)


 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16