Création automatique de feuilles en fonction d'un modèle
2 réponses
mac tom
Bonjour,
je ne suis pas un pro d'excel mais j'essaye d'apprendre et l=E0, j'avoue
que c'est difficile pour moi. Je m'explique : avec une macro, je sais
cr=E9er un classeur contenant une feuille par jour du mois que je choisi
et la mettre en forme. Chaque feuille est nomm=E9e 01.01.06, 02.02.06
etc jusqu'au dernier jour du mois. Pour mon travail, je souhaiterais
pouvoir cr=E9er un classeur mensuel avec une feuille par jour, mais ces
feuilles auraient une mise en page diff=E9rente en fonction du jour de
la semaine. Par exemple, les lundis certaines cellules seraient
coch=E9es, d'autres en bleu. Les mardi d'autres cellules seraient
coch=E9es (diff=E9rentes du lundi) avec d'autres couleurs... Croyez vous
que cela soit possible ? Merci de vos (=E9ventuelles) r=E9ponses ;)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Norvi
Bonjour,
En rajoutant ce code après avoir créé ta feuille :
Select Case Application.Weekday(creafeuille, 2)'creafeuille est le nom que tu donne a tes feuilles. Si tu veux un code plus complet, envois tout le code de ta procédure. Case 1 'LUNDI 'APPLIQUER LA MISE EN FORME SOUHAITEE Case 2 'MARDI 'APPLIQUER LA MISE EN FORME SOUHAITEE Case 3 'MERCREDI 'APPLIQUER LA MISE EN FORME SOUHAITEE Case 4 'JEUDI 'APPLIQUER LA MISE EN FORME SOUHAITEE Case 5 'VENDREDI 'APPLIQUER LA MISE EN FORME SOUHAITEE Case 6 'SAMEDI 'APPLIQUER LA MISE EN FORME SOUHAITEE Case 7 'DIMANCHE 'APPLIQUER LA MISE EN FORME SOUHAITEE End Select
Bonne journée
Bonjour,
En rajoutant ce code après avoir créé ta feuille :
Select Case Application.Weekday(creafeuille, 2)'creafeuille est le nom
que tu donne a tes feuilles. Si tu veux un code plus complet, envois
tout le code de ta procédure.
Case 1 'LUNDI
'APPLIQUER LA MISE EN FORME SOUHAITEE
Case 2 'MARDI
'APPLIQUER LA MISE EN FORME SOUHAITEE
Case 3 'MERCREDI
'APPLIQUER LA MISE EN FORME SOUHAITEE
Case 4 'JEUDI
'APPLIQUER LA MISE EN FORME SOUHAITEE
Case 5 'VENDREDI
'APPLIQUER LA MISE EN FORME SOUHAITEE
Case 6 'SAMEDI
'APPLIQUER LA MISE EN FORME SOUHAITEE
Case 7 'DIMANCHE
'APPLIQUER LA MISE EN FORME SOUHAITEE
End Select
En rajoutant ce code après avoir créé ta feuille :
Select Case Application.Weekday(creafeuille, 2)'creafeuille est le nom que tu donne a tes feuilles. Si tu veux un code plus complet, envois tout le code de ta procédure. Case 1 'LUNDI 'APPLIQUER LA MISE EN FORME SOUHAITEE Case 2 'MARDI 'APPLIQUER LA MISE EN FORME SOUHAITEE Case 3 'MERCREDI 'APPLIQUER LA MISE EN FORME SOUHAITEE Case 4 'JEUDI 'APPLIQUER LA MISE EN FORME SOUHAITEE Case 5 'VENDREDI 'APPLIQUER LA MISE EN FORME SOUHAITEE Case 6 'SAMEDI 'APPLIQUER LA MISE EN FORME SOUHAITEE Case 7 'DIMANCHE 'APPLIQUER LA MISE EN FORME SOUHAITEE End Select
Bonne journée
mac tom
Merci de ta réponse Norvi, voici le code de ma macro :
'créer dans un classeur une feuille pour chaque jour 'd'un mois donné. Sub CreationClasseur()
Dim MaDate As Variant Dim Sh As Worksheet Dim LastDay As Integer Dim Annee As Integer Dim LeMois As Integer Dim A As Integer
On Error Resume Next Sheets("Aide").Visible = False Sheets("Modèle").Visible = True Application.ScreenUpdating = False ActiveWindow.Zoom = 100 'Demande à l'usager le mois. Do MaDate = InputBox("Entrez une date du mois pour lequel il faut" & vbLf & _ "créer une feuille pour chacun des jours." & vbLf & vbLf & _ "Exemple : 01/11/2006", "Une feuille par jour") 'Si l'usager annule l'opération If MaDate = "" Then Exit Sub Loop While InStr(1, MaDate, "/") = 0
Annee = Year(MaDate) LeMois = Month(MaDate)
'Détermine la dernière journée du mois choisi. LastDay = Day(DateSerial(Annee, LeMois + 1, 0))
'Ajoute les feuilles. Err = 0 For A = LastDay To 1 Step -1
Je ne saisi pas bien le code que tu me proposes. Pourrais-tu l'inclure dans la macro ce qui me permettrais de mieux comprendre. Merci beaucoup.
Merci de ta réponse Norvi, voici le code de ma macro :
'créer dans un classeur une feuille pour chaque jour
'd'un mois donné.
Sub CreationClasseur()
Dim MaDate As Variant
Dim Sh As Worksheet
Dim LastDay As Integer
Dim Annee As Integer
Dim LeMois As Integer
Dim A As Integer
On Error Resume Next
Sheets("Aide").Visible = False
Sheets("Modèle").Visible = True
Application.ScreenUpdating = False
ActiveWindow.Zoom = 100
'Demande à l'usager le mois.
Do
MaDate = InputBox("Entrez une date du mois pour lequel il faut" &
vbLf & _
"créer une feuille pour chacun des jours." & vbLf &
vbLf & _
"Exemple : 01/11/2006", "Une feuille par jour")
'Si l'usager annule l'opération
If MaDate = "" Then Exit Sub
Loop While InStr(1, MaDate, "/") = 0
Annee = Year(MaDate)
LeMois = Month(MaDate)
'Détermine la dernière journée du mois choisi.
LastDay = Day(DateSerial(Annee, LeMois + 1, 0))
'Ajoute les feuilles.
Err = 0
For A = LastDay To 1 Step -1
Merci de ta réponse Norvi, voici le code de ma macro :
'créer dans un classeur une feuille pour chaque jour 'd'un mois donné. Sub CreationClasseur()
Dim MaDate As Variant Dim Sh As Worksheet Dim LastDay As Integer Dim Annee As Integer Dim LeMois As Integer Dim A As Integer
On Error Resume Next Sheets("Aide").Visible = False Sheets("Modèle").Visible = True Application.ScreenUpdating = False ActiveWindow.Zoom = 100 'Demande à l'usager le mois. Do MaDate = InputBox("Entrez une date du mois pour lequel il faut" & vbLf & _ "créer une feuille pour chacun des jours." & vbLf & vbLf & _ "Exemple : 01/11/2006", "Une feuille par jour") 'Si l'usager annule l'opération If MaDate = "" Then Exit Sub Loop While InStr(1, MaDate, "/") = 0
Annee = Year(MaDate) LeMois = Month(MaDate)
'Détermine la dernière journée du mois choisi. LastDay = Day(DateSerial(Annee, LeMois + 1, 0))
'Ajoute les feuilles. Err = 0 For A = LastDay To 1 Step -1